diff options
87 files changed, 5255 insertions, 178 deletions
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index 637805e6e3..edeaa660bb 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass @@ -527,8 +527,8 @@ do_deploy() { install -m 0644 ${KERNEL_OUTPUT} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin - if [ -d "${D}/lib" ]; then - fakeroot tar -cvzf ${DEPLOY_DIR_IMAGE}/${MODULES_IMAGE_BASE_NAME}.tgz -C ${D} lib + if [ -d "${PKGD}/lib" ]; then + fakeroot tar -cvzf ${DEPLOY_DIR_IMAGE}/${MODULES_IMAGE_BASE_NAME}.tgz -C ${PKGD} lib fi cd ${DEPLOY_DIR_IMAGE} @@ -540,4 +540,4 @@ do_deploy() { do_deploy[dirs] = "${S}" do_deploy[depends] += "fakeroot-native:do_populate_staging" -addtask deploy before do_package after do_install +addtask deploy before do_build after do_package diff --git a/classes/module_strip.bbclass b/classes/module_strip.bbclass index 17409190ed..2650f71d50 100644 --- a/classes/module_strip.bbclass +++ b/classes/module_strip.bbclass @@ -1,26 +1,20 @@ -#DEPENDS_append = " module-strip" +PACKAGESTRIPFUNCS += "do_strip_modules" do_strip_modules () { - for p in ${PACKAGES}; do - if test -e ${PKGDEST}/$p/lib/modules; then - if [ "${KERNEL_MAJOR_VERSION}" == "2.6" ]; then - modules="`find ${PKGDEST}/${p}/lib/modules -name \*.ko`" - else - modules="`find ${PKGDEST}/${p}/lib/modules -name \*.o`" - fi - if [ -n "$modules" ]; then - for module in $modules ; do - if ! [ -d "$module" ] ; then - ${STRIP} -v -g $module - fi - done -# NM="${CROSS_DIR}/bin/${HOST_PREFIX}nm" OBJCOPY="${CROSS_DIR}/bin/${HOST_PREFIX}objcopy" strip_module $modules - fi + if test -e ${PKGD}/lib/modules; then + if [ "${KERNEL_MAJOR_VERSION}" == "2.6" ]; then + modules="`find ${PKGD}/lib/modules -name \*.ko`" + else + modules="`find ${PKGD}/lib/modules -name \*.o`" fi - done + if [ -n "$modules" ]; then + for module in $modules ; do + if ! [ -d "$module" ] ; then + ${STRIP} -v -g $module + fi + done + fi + fi } -python do_package_append () { - if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, 1) != '1'): - bb.build.exec_func('do_strip_modules', d) -} + diff --git a/classes/package.bbclass b/classes/package.bbclass index bb81f33b29..4196135710 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -201,6 +201,26 @@ def runstrip(file, d): return 1 +PACKAGESTRIPFUNCS += "do_runstrip" +python do_runstrip() { + import stat + + dvar = bb.data.getVar('PKGD', d, True) + def isexec(path): + try: + s = os.stat(path) + except (os.error, AttributeError): + return 0 + return (s[stat.ST_MODE] & stat.S_IEXEC) + + for root, dirs, files in os.walk(dvar): + for f in files: + file = os.path.join(root, f) + if not os.path.islink(file) and not os.path.isdir(file) and isexec(file): + runstrip(file, d) +} + + def write_package_md5sums (root, outfile, ignorepaths): # For each regular file under root, writes an md5sum to outfile. # With thanks to patch.bbclass. @@ -334,11 +354,12 @@ python perform_packagecopy () { # Start by package population by taking a copy of the installed # files to operate on + os.system('rm -rf %s/*' % (dvar)) os.system('cp -pPR %s/* %s/' % (dest, dvar)) } python populate_packages () { - import glob, stat, errno, re,os + import glob, errno, re,os workdir = bb.data.getVar('WORKDIR', d, True) outdir = bb.data.getVar('DEPLOY_DIR', d, True) @@ -349,13 +370,6 @@ python populate_packages () { bb.mkdirhier(outdir) os.chdir(dvar) - def isexec(path): - try: - s = os.stat(path) - except (os.error, AttributeError): - return 0 - return (s[stat.ST_MODE] & stat.S_IEXEC) - # Sanity check PACKAGES for duplicates - should be moved to # sanity.bbclass once we have the infrastucture package_list = [] @@ -368,12 +382,10 @@ python populate_packages () { else: package_list.append(pkg) + if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, True) != '1'): - for root, dirs, files in os.walk(dvar): - for f in files: - file = os.path.join(root, f) - if not os.path.islink(file) and not os.path.isdir(file) and isexec(file): - runstrip(file, d) + for f in (bb.data.getVar('PACKAGESTRIPFUNCS', d, True) or '').split(): + bb.build.exec_func(f, d) pkgdest = bb.data.getVar('PKGDEST', d, True) os.system('rm -rf %s' % pkgdest) diff --git a/conf/checksums.ini b/conf/checksums.ini index 298f1bca08..a2878cec22 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -3086,6 +3086,10 @@ sha256=b1e6d5912546d2a4b704ec65c2b9664aa3b4663e7d800e06803330335a2cb764 md5=f9058305c42038678d5023fcabba22a4 sha256=f4a92834a538dc9dbb93fde76933e849b24639faa1721b24549f209b8b590f71 +[http://download.tuxfamily.org/blueman/blueman-1.21.tar.gz] +md5=26b70341b3d3da28da62c917c8b20377 +sha256=86200dab50b1595c9a9537586c07de90ccfa084b954bb74f3e8732cc000fe3af + [http://gpe.linuxtogo.org/download/source/blueprobe-0.13.tar.gz] md5=33745b0e86603124654773c1361df33e sha256=b4318d0e1ba7422ba4415838448718e037efe4d8236cf12132075ccf36d1803d @@ -3586,6 +3590,10 @@ sha256=9427fa9b45f3c322bf4fe2463c99c972e6ae03df630899b38be4f29133708a0e md5=aeb526108f13b91c02b115c8d86f9659 sha256=03fc9dbdc6f44afd2da55c0ab36646d2d063708cc35f3f4569b913b064f11d83 +[http://www.busybox.net/downloads/busybox-1.14.3.tar.gz] +md5=dfb197b8de260ff284f7222ed23614fe +sha256=b5a0c76d414cca97fb21622a5d09fa5a58f59890f5c9ce4f8b851c4e8b73a163 + [http://www.busybox.net/downloads/busybox-1.2.0.tar.gz] md5=6af69ebbbf8adc874ccb6d67dca95df5 sha256=df6e3b0079194251a2ff68d7be7b06025c79f4fe62f4a73158ee52ff4bc515a0 @@ -23714,6 +23722,10 @@ sha256=89106b5bc5a66ca0eaf4553371c89ac8542a757964d7a91c07b8fb77e040eebe md5=8c0936272dcfd4e98c51512699f1c06f sha256=13271a7eb4dc4aa6072162abbd78848e4faad32c468b9b44e7f95cde96a4e17e +[http://alioth.debian.org/frs/download.php/3026/sane-backends-1.0.20.tar.gz] +md5=a0cfdfdebca2feb4f2ba5d3418b15a42 +sha256=8fb1531e6192b9cfe2f44a020b881d78a13f05426b46263cfbe7fc2507ae3d3a + [ftp://ftp.sane-project.org/pub/sane/old-versions/sane-frontends-1.0.13/sane-frontends-1.0.13.tar.gz] md5=2930626e627df49b45192a722cedc8a6 sha256=94cd595fe1ae130b8490d5690c7665d15536554473ad648ed46fc0ac3f383a80 @@ -24114,6 +24126,10 @@ sha256=7dc418c1d361123ffc5e45d61f1b97257940a8eb35d0bfbbc493381cc5b1f959 md5=45f77f33a6b2a5c09c28511ebb733b87 sha256=7fd6495d6c3e8dac7ba086c68abed4930c958a94afc15359223074614559e462 +[ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/shadow-4.1.4.2.tar.bz2] +md5=d593a9cab93c48ee0a6ba056db8c1997 +sha256=97987f6a7967a85e6aa0dba2a1d52db8bd69af5a717391de5693db768fb78990 + [ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/shadow-4.1.4.tar.gz] md5=e1072df927bfb4410ee4dfe26dd81a17 sha256=7e38a7826f6e71e89b55669e8343af05ae33ecfba99aad178cad45845d950a93 @@ -24882,6 +24898,10 @@ sha256=64331bda459e984b8d369b449eec89daa2f3cd288186f1d2a9ad8011badd4dad md5=b29893c06192df6230dd5f340f3badf5 sha256=56f7d86032538a4a98d90af3742903a09ba16d6db82b593e4a47605f87fa581a +[http://ftp.sudo.ws/sudo/dist/sudo-1.7.2p1.tar.gz] +md5=4449d466a774f5ce401c9c0e3866c026 +sha256=34d11a1dd8bace0885f55b4c8bddda1da29993ff8d7174099e25bd80db1eaf7f + [http://dev.laptop.org/pub/sugar/sources/sugar/sugar-0.82.0.tar.bz2] md5=1f26fa4aee57469a0636a70649343fb3 sha256=ca4c614e09371a986ca5d86065fc697f7eb07b2064a6a2cad541755df0135883 @@ -29894,6 +29914,10 @@ sha256=86b176b6efc52557b1c7631bfdd5c17e7060a438e1e85ce15ec9657be356c50b md5=11080456822146ebc0118b15f4b911d9 sha256=6b5b3ef58e6646f004a5f1cbc6be8f32b824cfbf78a30bf242e4f07083668770 +[ftp://ftp.x.org/R5contrib/xloadimage.4.1.tar.gz] +md5=7331850fc04056ab8ae6b5725d1fb3d2 +sha256=400bc7d84dcfb3265a7a1ce51819679dc3adaeda231514bd89b0f932b78ff5c4 + [http://xorg.freedesktop.org/releases/individual/app/xlogo-1.0.1.tar.bz2] md5=4c5482552f38a7d42398a694cc9b2ee6 sha256=de59f9be3d45fe93f445f39bec3cea09753a671e56863ce77e3a797d2df526b2 diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf index 1f2f8d5efe..cf6bc9f882 100644 --- a/conf/distro/angstrom-2008.1.conf +++ b/conf/distro/angstrom-2008.1.conf @@ -204,7 +204,7 @@ require conf/distro/include/angstrom${ARM_ABI}.inc # If we're using an .ipk based rootfs, we want to have opkg-nogpg installed so postinst script can run # We also take this opportunity to inject angstrom-version and the feed configs into the rootfs -IPKG_VARIANT = "opkg-nogpg angstrom-version ${ANGSTROM_FEED_CONFIGS}" +IPKG_VARIANT = "opkg-nogpg-nocurl angstrom-version ${ANGSTROM_FEED_CONFIGS}" # Select xserver-xorg as default, since kdrive has been EOL'ed XSERVER ?= "xserver-xorg xf86-input-evdev xf86-input-keyboard xf86-input-mouse xf86-video-fbdev" diff --git a/conf/distro/include/preferred-shr-versions.inc b/conf/distro/include/preferred-shr-versions.inc index a2d1992706..d4a787235e 100644 --- a/conf/distro/include/preferred-shr-versions.inc +++ b/conf/distro/include/preferred-shr-versions.inc @@ -11,8 +11,10 @@ PREFERRED_VERSION_strace ?= "4.5.15" # we need new headers for libc, now OLDEST_KERNEL_linux-gnueabi = "2.6.24" PREFERRED_VERSION_linux-libc-headers = "2.6.29" +# override EFL_SRCREV from sane-srcrevs.inc +EFL_SRCREV ?= "43898" + # upgrades used in Angstrom -PREFERRED_VERSION_pixman = "0.17.1" PREFERRED_VERSION_gtk+ = "2.18.3" PREFERRED_VERSION_hal = "0.5.13" PREFERRED_VERSION_libtool = "2.2.6a" diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc index 76ca024eca..cbe6799186 100644 --- a/conf/distro/include/sane-srcrevs.inc +++ b/conf/distro/include/sane-srcrevs.inc @@ -256,9 +256,9 @@ SRCREV_pn-openmoocow ?= "39648419825cddfea1cb1321e552a12b71fede14" SRCREV_pn-openocd ?= "517" SRCREV_pn-openocd-native ?= "517" SRCREV_pn-opimd-utils ?= "0e7007fff120c8cc4c579c0c7e57883798e6d23e" -SRCREV_pn-opkg ?= "240" +SRCREV_pn-opkg ?= "363" SRCREV_pn-opkg-native ?= "240" -SRCREV_pn-opkg-sdk ?= "240" +SRCREV_pn-opkg-sdk ?= "363" SRCREV_pn-opkg-utils ?= "4578" SRCREV_pn-opkg-utils-native ?= "4595" SRCREV_pn-oprofileui ?= "173" diff --git a/conf/distro/shr.conf b/conf/distro/shr.conf index 79c07afbe6..6740e24feb 100644 --- a/conf/distro/shr.conf +++ b/conf/distro/shr.conf @@ -15,12 +15,9 @@ TOOLCHAIN_BRAND ?= "" #LIBC = "glibc" -require conf/distro/include/preferred-xorg-versions-X11R7.5.inc require conf/distro/include/preferred-shr-versions.inc require conf/distro/include/shr-autorev.inc -include conf/distro/minimal.conf - # # Header # @@ -33,7 +30,6 @@ DISTRO_TYPE = "debug" DISTRO = "shr" #Generate locales on the buildsystem instead of on the target. Speeds up first boot, set to "1" to enable -PREFERRED_PROVIDER_qemu-native = "qemu-native" ENABLE_BINARY_LOCALE_GENERATION ?= "1" # We only want to build UTF8 locales @@ -75,6 +71,89 @@ PACKAGE_ARCH_pn-keymaps_om-gta02 = "armv4t" PACKAGE_ARCH_pn-neod_om-gta01 = "armv4t" PACKAGE_ARCH_pn-neod_om-gta02 = "armv4t" +# Helper to say what image we built +SHR_VERSION_FILE = "${IMAGE_ROOTFS}/${sysconfdir}/shr-version" +ROOTFS_POSTPROCESS_COMMAND += "OLD_PWD=$PWD; cd `dirname '${FILE_DIRNAME}'`; echo Tag Name: `git tag|tail -n 1`> ${SHR_VERSION_FILE};cd $OLD_PWD;" +ROOTFS_POSTPROCESS_COMMAND += "OLD_PWD=$PWD; cd `dirname '${FILE_DIRNAME}'`; echo VERSION: `git-log -n1 --pretty=oneline|awk '{print $1}'` >> ${SHR_VERSION_FILE}; cd $OLD_PWD;" +ROOTFS_POSTPROCESS_COMMAND += "OLD_PWD=$PWD; cd `dirname '${FILE_DIRNAME}'`; echo Branch: ` git branch |awk '/*/{print $2}'` >> ${SHR_VERSION_FILE}; cd $OLD_PWD;" +ROOTFS_POSTPROCESS_COMMAND += "echo Build Host: `cat /etc/hostname` >> ${SHR_VERSION_FILE};" +ROOTFS_POSTPROCESS_COMMAND += "echo Time Stamp: `date -R` >> ${SHR_VERSION_FILE};" + +#Package customization +EXTRA_OECONF-pn_qemu += " --target-list=arm-linux-user,arm-softmmu" + +#Illume settings +ILLUME_CONFIG = "e-wm-config-illume-shr" +ILLUME_THEME = "e-wm-theme-illume-gry" + +# From minimal.conf + +############################################################################# +# FEATURE SELECTION +############################################################################# +# Use bluetooth 4.0 +DISTRO_BLUETOOTH_MANAGER = "bluez4" +# We want images supporting the following features (for task-base) +DISTRO_FEATURES = "nfs smbfs wifi ppp alsa ext2 vfat pcmcia usbgadget usbhost pci" +# Following features are for ARM and E500 based machines +DISTRO_FEATURES += "eabi" + +############################################################################# +# LIBRARY NAMES +############################################################################# +# libfoo -> libfoo0-2 (etc) +INHERIT += "debian" + +############################################################################# +# STAGING AREA +############################################################################# +# Controlled by packaging system +INHERIT += "packaged-staging" + +############################################################################# +# PACKAGING & FEEDS +############################################################################# +# Chose the packaging system +INHERIT += "package_ipk" +IMAGE_FSTYPES ?= "tar.gz jffs2" + +require conf/distro/include/sane-feed.inc +PREFERRED_PKG_FORMAT ?= "ipk" +require conf/distro/include/sane-feed-${PREFERRED_PKG_FORMAT}.inc + +############################################################################# +# IMAGES +############################################################################# +# Name the generated images in a sane way +IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${LIBC}-${PREFERRED_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}" +CACHE ?= "${TMPDIR}/cache/${LIBC}/${MACHINE}" +DEPLOY_DIR ?= "${TMPDIR}/deploy/${LIBC}" +DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}" + +# increase inode/block ratio for ext2 filesystem +EXTRA_IMAGECMD_ext2 = "-i 8192" + +############################################################################# +# KERNEL +############################################################################# +KERNEL = "kernel26" +MACHINE_KERNEL_VERSION = "2.6" + +############################################################################# +# OVERWRITES adjusted from bitbake.conf to feature the MACHINE_CLASS +############################################################################# +OVERRIDES = "local:${MACHINE}:${MACHINE_CLASS}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}" + +############################################################################# +# TOOLCHAIN +############################################################################# +LIBC ?= "eglibc" +require conf/distro/include/sane-toolchain.inc + +############################################################################# +# PREFERRED PROVIDERS +############################################################################# +PREFERRED_PROVIDER_qemu-native = "qemu-native" PREFERRED_PROVIDER_gconf = "gconf" PREFERRED_PROVIDER_virtual/shr-splash-theme = "shr-splash-theme-logo" PREFERRED_PROVIDER_frameworkd-config = "frameworkd-config-shr" @@ -93,18 +172,54 @@ PREFERRED_PROVIDER_opkg = "opkg" PREFERRED_PROVIDER_virtual/java-initial = "cacao-initial" PREFERRED_PROVIDER_atd = "atd-over-fso" PREFERRED_PROVIDER_qt4x11 = "qt4-x11-free" - -# Helper to say what image we built -SHR_VERSION_FILE = "${IMAGE_ROOTFS}/${sysconfdir}/shr-version" -ROOTFS_POSTPROCESS_COMMAND += "OLD_PWD=$PWD; cd `dirname '${FILE_DIRNAME}'`; echo Tag Name: `git tag|tail -n 1`> ${SHR_VERSION_FILE};cd $OLD_PWD;" -ROOTFS_POSTPROCESS_COMMAND += "OLD_PWD=$PWD; cd `dirname '${FILE_DIRNAME}'`; echo VERSION: `git-log -n1 --pretty=oneline|awk '{print $1}'` >> ${SHR_VERSION_FILE}; cd $OLD_PWD;" -ROOTFS_POSTPROCESS_COMMAND += "OLD_PWD=$PWD; cd `dirname '${FILE_DIRNAME}'`; echo Branch: ` git branch |awk '/*/{print $2}'` >> ${SHR_VERSION_FILE}; cd $OLD_PWD;" -ROOTFS_POSTPROCESS_COMMAND += "echo Build Host: `cat /etc/hostname` >> ${SHR_VERSION_FILE};" -ROOTFS_POSTPROCESS_COMMAND += "echo Time Stamp: `date -R` >> ${SHR_VERSION_FILE};" - -#Package customization -EXTRA_OECONF-pn_qemu += " --target-list=arm-linux-user,arm-softmmu" - -#Illume settings -ILLUME_CONFIG = "e-wm-config-illume-shr" -ILLUME_THEME = "e-wm-theme-illume-gry" +PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap" +PREFERRED_PROVIDER_avahi = "avahi" +PREFERRED_PROVIDER_gtk+ = "gtk+" +PREFERRED_PROVIDER_libgpewidget = "libgpewidget" +PREFERRED_PROVIDER_virtual/db = "db3" +PREFERRED_PROVIDER_virtual/db-native = "db3-native" +PREFERRED_PROVIDER_virtual/libsdl = "libsdl-x11" +PREFERRED_PROVIDER_virtual/libx11 ?= "libx11" +PREFERRED_PROVIDER_virtual/libusb0 ?= "libusb" + +############################################################################# +# PREFERRED VERSIONS +############################################################################# +require conf/distro/include/sane-srcdates.inc +require conf/distro/include/sane-srcrevs.inc +require conf/distro/include/preferred-e-versions.inc +require conf/distro/include/preferred-opie-versions-1.2.4.inc +#Use newest available (X11R7.5 now) +#require conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc +#require conf/distro/include/preferred-xorg-versions-X11R7.4.inc + +############################################################################# +# CONTENTS +############################################################################# + +# Ship extra debug utils in the rootfs when doing a debug build +DISTRO_EXTRA_APPS ?= "" +DISTRO_EXTRA_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "task-cli-tools-debug",d)}' + +# Additional content I (only valid if you include task-base) +# distro-feed-configs: configuration files for the online feeds +# util-linux-ng-mount util-linux-ng-umount: busybox mount is broken +# angstrom-libc-fixup-hack: fixes an obscure bug with libc.so symlink +DISTRO_EXTRA_RDEPENDS += "\ + distro-feed-configs \ + util-linux-ng-mount util-linux-ng-umount \ + angstrom-libc-fixup-hack \ + ${DISTRO_EXTRA_APPS} \ +" + +# Additional content II (can be masked with BAD_RECOMMENDATIONS) +DISTRO_EXTRA_RRECOMMENDS += " \ + kernel-module-vfat \ + kernel-module-ext2 \ + kernel-module-ext3 \ + kernel-module-af-packet \ + openssh-sftp-server \ +" + +# avahi-daemon \ +# avahi-autoipd \ diff --git a/conf/machine/hawkboard.conf b/conf/machine/hawkboard.conf new file mode 100644 index 0000000000..5a9df79ade --- /dev/null +++ b/conf/machine/hawkboard.conf @@ -0,0 +1,13 @@ +#@TYPE: Machine +#@NAME: OMAP-L138 based board +#@DESCRIPTION: Machine configuration for the TI Hawkboard + +require conf/machine/include/davinci.inc + +UBOOT_MACHINE = "da850_omapl138_evm_config" +UBOOT_ENTRYPOINT = "0xc0008000" +UBOOT_LOADADDRESS = "0xc0008000" + +MACHINE_FEATURES = "kernel26 serial ethernet ide screen" + +SERIAL_CONSOLE = "115200 ttyS2" diff --git a/recipes/blueman/blueman_1.21.bb b/recipes/blueman/blueman_1.21.bb new file mode 100644 index 0000000000..744c05302e --- /dev/null +++ b/recipes/blueman/blueman_1.21.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "GTK+ Bluetooth Manager, designed for common bluetooth tasks." +HOMEPAGE = "http://blueman-project.org/" +SECTION = "optional" + +DEPENDS = "gtk+ glib-2.0 bluez4 intltool python \ + python-native python-pyrex \ + startup-notification \ +" + +RDEPENDS = "python-dbus python-pygobject python \ + dbus bluez4 python-pygtk obex-data-server \ +" + +PR = "r1" + +SRC_URI = "http://download.tuxfamily.org/blueman/blueman-${PV}.tar.gz" + +inherit autotools pkgconfig + +EXTRA_OECONF += "--with-no-runtime-deps-check" + +do_configure_prepend() { + sed -i "s/py_prefix=.*$/py_prefix=\"${@"${STAGING_DIR_TARGET}".replace("/","\/")}\/usr\"/" ${S}/acinclude.m4 + sed -i "s/py_exec_prefix=.*$/py_exec_prefix=\"${@"${STAGING_DIR_TARGET}".replace("/","\/")}\/usr\"/" ${S}/acinclude.m4 +} + +FILES_${PN}-dbg += "${libdir}/python2.6/site-packages/.debug" +FILES_${PN} += "${libdir} ${datadir}" + +BLUEZ_LIBS = "-L${libdir} -lbluetooth" +BLUEZ_CFLAGS = "-I${includedir}" diff --git a/recipes/e17/e-wm/wizard-module-skipping.patch b/recipes/e17/e-wm/wizard-module-skipping.patch new file mode 100644 index 0000000000..d124325b3b --- /dev/null +++ b/recipes/e17/e-wm/wizard-module-skipping.patch @@ -0,0 +1,63 @@ +Index: e/src/modules/wizard/Makefile.am +=================================================================== +--- e/src/modules/wizard/Makefile.am (revision 43860) ++++ e/src/modules/wizard/Makefile.am (working copy) +@@ -6,7 +6,7 @@ + files_DATA = \ + e-module-$(MODULE).edj module.desktop + +-EXTRA_DIST = $(files_DATA) page_040.c page_050.c page_060.c ++EXTRA_DIST = $(files_DATA) page_030.c page_040.c page_050.c page_060.c page_070.c page_080.c + + # the module .so file + INCLUDES = -I. \ +@@ -21,9 +21,6 @@ + page_000.la \ + page_010.la \ + page_020.la \ +- page_030.la \ +- page_070.la \ +- page_080.la \ + page_200.la + + ### disabled because profile selector really does the job. code here just for +@@ -60,10 +57,10 @@ + page_020_la_DEPENDENCIES = $(top_builddir)/config.h + + #Choose Menus +-page_030_la_SOURCES = page_030.c +-page_030_la_LIBADD = @e_libs@ @dlopen_libs@ +-page_030_la_LDFLAGS = -module -avoid-version +-page_030_la_DEPENDENCIES = $(top_builddir)/config.h ++#page_030_la_SOURCES = page_030.c ++#page_030_la_LIBADD = @e_libs@ @dlopen_libs@ ++#page_030_la_LDFLAGS = -module -avoid-version ++#page_030_la_DEPENDENCIES = $(top_builddir)/config.h + + #page_040_la_SOURCES = page_040.c + #page_040_la_LIBADD = @e_libs@ @dlopen_libs@ +@@ -81,16 +78,16 @@ + #page_060_la_DEPENDENCIES = $(top_builddir)/config.h + + #Choose appliactions +-page_070_la_SOURCES = page_070.c +-page_070_la_LIBADD = @e_libs@ @dlopen_libs@ +-page_070_la_LDFLAGS = -module -avoid-version +-page_070_la_DEPENDENCIES = $(top_builddir)/config.h ++#page_070_la_SOURCES = page_070.c ++#page_070_la_LIBADD = @e_libs@ @dlopen_libs@ ++#page_070_la_LDFLAGS = -module -avoid-version ++#page_070_la_DEPENDENCIES = $(top_builddir)/config.h + + #Choose quick launch +-page_080_la_SOURCES = page_080.c +-page_080_la_LIBADD = @e_libs@ @dlopen_libs@ +-page_080_la_LDFLAGS = -module -avoid-version +-page_080_la_DEPENDENCIES = $(top_builddir)/config.h ++#page_080_la_SOURCES = page_080.c ++#page_080_la_LIBADD = @e_libs@ @dlopen_libs@ ++#page_080_la_LDFLAGS = -module -avoid-version ++#page_080_la_DEPENDENCIES = $(top_builddir)/config.h + + page_200_la_SOURCES = page_200.c + page_200_la_LIBADD = @e_libs@ @dlopen_libs@ diff --git a/recipes/e17/e-wm_svn.bb b/recipes/e17/e-wm_svn.bb index de0f48f059..a935728e02 100644 --- a/recipes/e17/e-wm_svn.bb +++ b/recipes/e17/e-wm_svn.bb @@ -3,7 +3,7 @@ DEPENDS = "eet evas ecore edje efreet edbus" LICENSE = "MIT BSD" SRCNAME = "e" PV = "0.16.999.060+svnr${SRCPV}" -PR = "r6" +PR = "r7" inherit e update-alternatives @@ -16,6 +16,11 @@ SRC_URI += "\ SRC_URI_append_openmoko = " file://illume-disable-screensaver.patch;patch=1" +SRC_URI_append_shr = " \ + file://illume-disable-screensaver.patch;patch=1 \ + file://wizard-module-skipping.patch;patch=1 \ +" + EXTRA_OECONF = "\ --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ --with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \ @@ -75,6 +80,7 @@ PACKAGES =+ "\ ${PN}-input-methods \ ${PN}-sysactions \ ${PN}-utils \ + ${PN}-menu \ " RRECOMMENDS_${PN} = "\ @@ -84,6 +90,7 @@ RRECOMMENDS_${PN} = "\ ${PN}-other \ ${PN}-input-methods \ ${PN}-sysactions \ + ${PN}-menu \ " PACKAGE_ARCH_${PN}-config-default = "all" @@ -101,6 +108,7 @@ PACKAGE_ARCH_${PN}-icons = "all" PACKAGE_ARCH_${PN}-other = "all" PACKAGE_ARCH_${PN}-input-methods = "all" PACKAGE_ARCH_${PN}-sysactions = "all" +PACKAGE_ARCH_${PN}-menu = "all" FILES_${PN} = "\ ${bindir}/* \ @@ -135,6 +143,7 @@ FILES_${PN}-other = "${datadir}/enlightenment/data/other" FILES_${PN}-input-methods = "${datadir}/enlightenment/data/input_methods" FILES_${PN}-sysactions = "${sysconfdir}/enlightenment/sysactions.conf" FILES_${PN}-utils = "${libdir}/enlightenment/utils/*" +FILES_${PN}-menu = "${sysconfdir}/xdg/menus/applications.menu" RRECOMMENDS_${PN}-config-default = "${PN}-theme-default" RRECOMMENDS_${PN}-config-illume = "${PN}-theme-illume" @@ -160,7 +169,8 @@ FILES_${PN}-doc += "\ ${datadir}/enlightenment/doc \ " -CONFFILES_${PN} = "${sysconfdir}/xdg/menus/applications.menu" +CONFFILES_${PN}-menu = "${sysconfdir}/xdg/menus/applications.menu" +CONFFILES_${PN}-sysactions = "/etc/enlightenment/sysactions.conf" ALTERNATIVE_PATH = "${bindir}/enlightenment_start.oe" ALTERNATIVE_NAME = "x-window-manager" diff --git a/recipes/fltk/fltkclock_svn.bb b/recipes/fltk/fltkclock_svn.bb new file mode 100644 index 0000000000..907610da8e --- /dev/null +++ b/recipes/fltk/fltkclock_svn.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "FLTK Worldclock Application" +HOMEPAGE = "http://www.crash-override.net/omworldclock.html" +AUTHOR = "Benjamin 'blindcoder' Schieder' +LICENSE = "PD/GPLv2" +SECTION = "x11/tool" +DEPENDS = "fltk" +SRCREV = "41" +PV = "1.0+svnr${SRCPV}" +PR = "r0" +S = "${WORKDIR}/trunk" + +inherit autotools + +SRC_URI = "svn://scavenger.homeip.net/svn/fltkworldclock;module=trunk;proto=http" diff --git a/recipes/fltk/fltkhackdiet_svn.bb b/recipes/fltk/fltkhackdiet_svn.bb new file mode 100644 index 0000000000..7ff81bcb3d --- /dev/null +++ b/recipes/fltk/fltkhackdiet_svn.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "FLTK Hacker's Diet Application" +HOMEPAGE = "http://www.crash-override.net/omhackersdiet.html" +AUTHOR = "Benjamin 'blindcoder' Schieder' +LICENSE = "GPLv2" +SECTION = "x11/tool" +DEPENDS = "fltk" +RDEPENDS = "curl" +SRCREV = "67" +PV = "1.0+svnr${SRCPV}" +PR = "r0" +S = "${WORKDIR}/trunk" + +inherit autotools + +SRC_URI = "svn://scavenger.homeip.net/svn/fltkhackdiet;module=trunk;proto=http" diff --git a/recipes/fltk/fltkwwpointcal_svn.bb b/recipes/fltk/fltkwwpointcal_svn.bb new file mode 100644 index 0000000000..9ad34d2f29 --- /dev/null +++ b/recipes/fltk/fltkwwpointcal_svn.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "FLTK Weight Watchers Points Calculator" +HOMEPAGE = "http://www.crash-override.net/omwwpointcal.html" +AUTHOR = "Benjamin 'blindcoder' Schieder' +LICENSE = "GPLv2" +SECTION = "x11/tool" +DEPENDS = "fltk" +SRCREV = "2" +PV = "1.0+svnr${SRCPV}" +PR = "r0" +S = "${WORKDIR}/trunk" + +inherit autotools + +SRC_URI = "svn://scavenger.homeip.net/svn/fltkwwpointcal;module=trunk;proto=http" diff --git a/recipes/gcc/gcc-4.3.3.inc b/recipes/gcc/gcc-4.3.3.inc index 9dd46ec16c..f5c1bd84de 100644 --- a/recipes/gcc/gcc-4.3.3.inc +++ b/recipes/gcc/gcc-4.3.3.inc @@ -7,7 +7,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" -INC_PR = "r7" +INC_PR = "r9" SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://fedora/gcc43-c++-builtin-redecl.patch;patch=1;pnum=0 \ @@ -57,6 +57,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch;patch=1 \ file://zecke-xgcc-cpp.patch;patch=1 \ file://gcc-flags-for-build.patch;patch=1 \ + file://arm-gcc-objective.patch;patch=1 \ " SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " diff --git a/recipes/gcc/gcc-4.3.3/arm-gcc-objective.patch b/recipes/gcc/gcc-4.3.3/arm-gcc-objective.patch new file mode 100644 index 0000000000..ae8238bd40 --- /dev/null +++ b/recipes/gcc/gcc-4.3.3/arm-gcc-objective.patch @@ -0,0 +1,271 @@ +--- gcc-4.3.1/libobjc/exception.c.old 2009-04-21 22:13:18.000000000 -0700 ++++ gcc-4.3.1/libobjc/exception.c 2009-04-21 22:23:52.000000000 -0700 +@@ -31,7 +31,14 @@ + #include "unwind-pe.h" + + +-/* This is the exception class we report -- "GNUCOBJC". */ ++#ifdef __ARM_EABI_UNWINDER__ ++ ++const _Unwind_Exception_Class __objc_exception_class ++ = {'G', 'N', 'U', 'C', 'O', 'B', 'J', 'C'}; ++ ++#else ++ ++ /* This is the exception class we report -- "GNUCOBJC". */ + #define __objc_exception_class \ + ((((((((_Unwind_Exception_Class) 'G' \ + << 8 | (_Unwind_Exception_Class) 'N') \ +@@ -41,6 +48,17 @@ + << 8 | (_Unwind_Exception_Class) 'B') \ + << 8 | (_Unwind_Exception_Class) 'J') \ + << 8 | (_Unwind_Exception_Class) 'C') ++static const _Unwind_Exception_Class __objc_exception_class ++ = ((((((((_Unwind_Exception_Class) 'G' ++ << 8 | (_Unwind_Exception_Class) 'N') ++ << 8 | (_Unwind_Exception_Class) 'U') ++ << 8 | (_Unwind_Exception_Class) 'C') ++ << 8 | (_Unwind_Exception_Class) 'O') ++ << 8 | (_Unwind_Exception_Class) 'B') ++ << 8 | (_Unwind_Exception_Class) 'J') ++ << 8 | (_Unwind_Exception_Class) 'C'); ++ ++#endif + + /* This is the object that is passed around by the Objective C runtime + to represent the exception in flight. */ +@@ -50,12 +68,18 @@ + /* This bit is needed in order to interact with the unwind runtime. */ + struct _Unwind_Exception base; + +- /* The actual object we want to throw. */ ++ /* The actual object we want to throw. Note: must come immediately after ++ unwind header. */ + id value; + ++#ifdef __ARM_EABI_UNWINDER__ ++ /* Note: we use the barrier cache defined in the unwind control block for ++ ARM EABI. */ ++#else + /* Cache some internal unwind data between phase 1 and phase 2. */ + _Unwind_Ptr landingPad; + int handlerSwitchValue; ++#endif + }; + + +@@ -106,6 +130,24 @@ + return p; + } + ++#ifdef __ARM_EABI_UNWINDER__ ++ ++static Class ++get_ttype_entry (struct lsda_header_info *info, _uleb128_t i) ++{ ++ _Unwind_Ptr ptr; ++ ++ ptr = (_Unwind_Ptr) (info->TType - (i * 4)); ++ ptr = _Unwind_decode_target2 (ptr); ++ ++ if (ptr) ++ return objc_get_class ((const char *) ptr); ++ else ++ return 0; ++} ++ ++#else ++ + static Class + get_ttype_entry (struct lsda_header_info *info, _Unwind_Word i) + { +@@ -122,6 +164,8 @@ + return 0; + } + ++#endif ++ + /* Like unto the method of the same name on Object, but takes an id. */ + /* ??? Does this bork the meta-type system? Can/should we look up an + isKindOf method on the id? */ +@@ -150,12 +194,32 @@ + #define PERSONALITY_FUNCTION __gnu_objc_personality_v0 + #endif + ++#ifdef __ARM_EABI_UNWINDER__ ++ ++#define CONTINUE_UNWINDING \ ++ do \ ++ { \ ++ if (__gnu_unwind_frame(ue_header, context) != _URC_OK) \ ++ return _URC_FAILURE; \ ++ return _URC_CONTINUE_UNWIND; \ ++ } \ ++ while (0) ++ ++_Unwind_Reason_Code ++PERSONALITY_FUNCTION (_Unwind_State state, ++ struct _Unwind_Exception *ue_header, ++ struct _Unwind_Context *context) ++#else ++ ++#define CONTINUE_UNWINDING return _URC_CONTINUE_UNWIND ++ + _Unwind_Reason_Code + PERSONALITY_FUNCTION (int version, + _Unwind_Action actions, + _Unwind_Exception_Class exception_class, + struct _Unwind_Exception *ue_header, + struct _Unwind_Context *context) ++#endif + { + struct ObjcException *xh = (struct ObjcException *) ue_header; + +@@ -165,19 +229,66 @@ + const unsigned char *p; + _Unwind_Ptr landing_pad, ip; + int handler_switch_value; +- int saw_cleanup = 0, saw_handler; ++ int saw_cleanup = 0, saw_handler, foreign_exception; + void *return_object; + ++ int ip_before_insn = 0; ++ ++#ifdef __ARM_EABI_UNWINDER__ ++ _Unwind_Action actions; ++ ++ switch (state & _US_ACTION_MASK) ++ { ++ case _US_VIRTUAL_UNWIND_FRAME: ++ actions = _UA_SEARCH_PHASE; ++ break; ++ ++ case _US_UNWIND_FRAME_STARTING: ++ actions = _UA_CLEANUP_PHASE; ++ if (!(state & _US_FORCE_UNWIND) ++ && ue_header->barrier_cache.sp == _Unwind_GetGR (context, 13)) ++ actions |= _UA_HANDLER_FRAME; ++ break; ++ ++ case _US_UNWIND_FRAME_RESUME: ++ CONTINUE_UNWINDING; ++ break; ++ ++ default: ++ abort(); ++ } ++ actions |= state & _US_FORCE_UNWIND; ++ ++ /* TODO: Foreign exceptions need some attention (e.g. rethrowing doesn't ++ work). */ ++ foreign_exception = 0; ++ ++ /* The dwarf unwinder assumes the context structure holds things like the ++ function and LSDA pointers. The ARM implementation caches these in ++ the exception header (UCB). To avoid rewriting everything we make the ++ virtual IP register point at the UCB. */ ++ ip = (_Unwind_Ptr) ue_header; ++ _Unwind_SetGR (context, 12, ip); ++ ++#else /* !__ARM_EABI_UNWINDER. */ + /* Interface version check. */ + if (version != 1) + return _URC_FATAL_PHASE1_ERROR; ++ ++ foreign_exception = (exception_class != __objc_exception_class); ++#endif + + /* Shortcut for phase 2 found handler for domestic exception. */ + if (actions == (_UA_CLEANUP_PHASE | _UA_HANDLER_FRAME) +- && exception_class == __objc_exception_class) ++ && !foreign_exception) + { ++#ifdef __ARM_EABI_UNWINDER__ ++ handler_switch_value = (int) ue_header->barrier_cache.bitpattern[1]; ++ landing_pad = (_Unwind_Ptr) ue_header->barrier_cache.bitpattern[3]; ++#else + handler_switch_value = xh->handlerSwitchValue; + landing_pad = xh->landingPad; ++#endif + goto install_context; + } + +@@ -186,12 +297,18 @@ + + /* If no LSDA, then there are no handlers or cleanups. */ + if (! language_specific_data) +- return _URC_CONTINUE_UNWIND; ++ CONTINUE_UNWINDING; + + /* Parse the LSDA header. */ + p = parse_lsda_header (context, language_specific_data, &info); + info.ttype_base = base_of_encoded_value (info.ttype_encoding, context); +- ip = _Unwind_GetIP (context) - 1; ++#ifdef HAVE_GETIPINFO ++ ip = _Unwind_GetIPInfo (context, &ip_before_insn); ++#else ++ ip = _Unwind_GetIP (context) - 1; ++#endif ++ if (!ip_before_insn) ++ --ip; + landing_pad = 0; + action_record = 0; + handler_switch_value = 0; +@@ -250,7 +367,7 @@ + /* If ip is not present in the table, C++ would call terminate. */ + /* ??? As with Java, it's perhaps better to tweek the LSDA to + that no-action is mapped to no-entry. */ +- return _URC_CONTINUE_UNWIND; ++ CONTINUE_UNWINDING; + + found_something: + saw_cleanup = 0; +@@ -287,8 +404,7 @@ + + /* During forced unwinding, we only run cleanups. With a + foreign exception class, we have no class info to match. */ +- else if ((actions & _UA_FORCE_UNWIND) +- || exception_class != __objc_exception_class) ++ else if ((actions & _UA_FORCE_UNWIND) || foreign_exception) + ; + + else if (ar_filter > 0) +@@ -318,18 +434,24 @@ + } + + if (! saw_handler && ! saw_cleanup) +- return _URC_CONTINUE_UNWIND; ++ CONTINUE_UNWINDING; + + if (actions & _UA_SEARCH_PHASE) + { + if (!saw_handler) +- return _URC_CONTINUE_UNWIND; ++ CONTINUE_UNWINDING; + + /* For domestic exceptions, we cache data from phase 1 for phase 2. */ +- if (exception_class == __objc_exception_class) ++ if (!foreign_exception) + { ++#ifdef __ARM_EABI_UNWINDER__ ++ ue_header->barrier_cache.sp = _Unwind_GetGR (context, 13); ++ ue_header->barrier_cache.bitpattern[1] = (_uw) handler_switch_value; ++ ue_header->barrier_cache.bitpattern[3] = (_uw) landing_pad; ++#else + xh->handlerSwitchValue = handler_switch_value; + xh->landingPad = landing_pad; ++#endif + } + return _URC_HANDLER_FOUND; + } +@@ -361,7 +483,9 @@ + objc_exception_throw (id value) + { + struct ObjcException *header = calloc (1, sizeof (*header)); +- header->base.exception_class = __objc_exception_class; ++ ++ memcpy (&header->base.exception_class, &__objc_exception_class, ++ sizeof (__objc_exception_class)); + header->base.exception_cleanup = __objc_exception_cleanup; + header->value = value; + diff --git a/recipes/gcc/gcc-package-target.inc b/recipes/gcc/gcc-package-target.inc index 68c84abd5a..91f5f9060d 100644 --- a/recipes/gcc/gcc-package-target.inc +++ b/recipes/gcc/gcc-package-target.inc @@ -4,6 +4,7 @@ PACKAGES = "\ cpp cpp-symlinks \ g77 g77-symlinks \ gfortran gfortran-symlinks \ + objc objc-dev \ gcov gcov-symlinks \ libmudflap libmudflap-dev \ libgcc-dev \ @@ -87,6 +88,13 @@ FILES_libgfortran-dev = "${libdir}/libgfortran.a \ ${libdir}/libgfortran.so \ ${libdir}/libgfortranbegin.a" +FILES_objc = "${libdir}/libobjc*.so.* \ +" +FILES_objc-dev = "${libdir}/libobjc*.so \ + ${libdir}/libobjc*.la \ + ${libdir}/libobjc*.a \ +" + FILES_libmudflap = "${libdir}/libmudflap*.so.*" FILES_libmudflap-dev = "\ ${libdir}/libmudflap*.so \ diff --git a/recipes/linux/linux-davinci/hawkboard/defconfig b/recipes/linux/linux-davinci/hawkboard/defconfig new file mode 100644 index 0000000000..05bc1e74e6 --- /dev/null +++ b/recipes/linux/linux-davinci/hawkboard/defconfig @@ -0,0 +1,1712 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.32-rc6 +# Wed Nov 18 00:04:22 2009 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_TIME=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_ARCH_HAS_CPUFREQ=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_CONSTRUCTORS=y + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_LOCK_KERNEL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_TREE_PREEMPT_RCU is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_TREE_RCU_TRACE is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_GROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_USER_SCHED=y +# CONFIG_CGROUP_SCHED is not set +# CONFIG_CGROUPS is not set +# CONFIG_SYSFS_DEPRECATED_V2 is not set +# CONFIG_RELAY is not set +# CONFIG_NAMESPACES is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_EMBEDDED=y +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y + +# +# Kernel Performance Events And Counters +# +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +CONFIG_COMPAT_BRK=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_PROFILING is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_CLK=y + +# +# GCOV-based kernel profiling +# +# CONFIG_SLOW_WORK is not set +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_BLOCK=y +CONFIG_LBDAF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_AS=y +# CONFIG_DEFAULT_DEADLINE is not set +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="anticipatory" +# CONFIG_FREEZER is not set + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_STMP3XXX is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_NOMADIK is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_MSM is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5PC1XX is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_U300 is not set +CONFIG_ARCH_DAVINCI=y +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_BCMRING is not set +CONFIG_CP_INTC=y + +# +# TI DaVinci Implementations +# + +# +# DaVinci Core Type +# +# CONFIG_ARCH_DAVINCI_DM644x is not set +# CONFIG_ARCH_DAVINCI_DM355 is not set +# CONFIG_ARCH_DAVINCI_DM646x is not set +# CONFIG_ARCH_DAVINCI_DA830 is not set +CONFIG_ARCH_DAVINCI_DA850=y +CONFIG_ARCH_DAVINCI_DA8XX=y +# CONFIG_ARCH_DAVINCI_DM365 is not set +CONFIG_CPPI41=y + +# +# DaVinci Board Type +# +CONFIG_MACH_DAVINCI_DA850_EVM=y +CONFIG_DA850_UI_NONE=y +# CONFIG_DA850_UI_RMII is not set +# CONFIG_DA850_UI_CLCD is not set +CONFIG_DAVINCI_MUX=y +# CONFIG_DAVINCI_MUX_DEBUG is not set +# CONFIG_DAVINCI_MUX_WARNINGS is not set +CONFIG_DAVINCI_RESET_CLOCKS=y +CONFIG_DAVINCI_MCBSP=y +# CONFIG_DAVINCI_MCBSP0 is not set +CONFIG_DAVINCI_MCBSP1=y + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_ARM926T=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5TJ=y +CONFIG_CPU_PABRT_LEGACY=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +# CONFIG_CPU_CACHE_ROUND_ROBIN is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 +CONFIG_COMMON_CLKDEV=y + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_HZ=100 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_HIGHMEM is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4096 +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_HAVE_MLOCK=y +CONFIG_HAVE_MLOCKED_PAGE_BIT=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_LEDS=y +# CONFIG_LEDS_CPU is not set +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=y +# CONFIG_CPU_FREQ_DEBUG is not set +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_STAT_DETAILS is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +# CONFIG_VFP is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_HAVE_AOUT=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_BOOTP is not set +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=m +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_IPV6_MIP6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +CONFIG_IPV6_SIT=m +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NETFILTER_XTABLES is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_IPV4 is not set +# CONFIG_IP_NF_QUEUE is not set +# CONFIG_IP_NF_IPTABLES is not set +# CONFIG_IP_NF_ARPTABLES is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_IP6_NF_QUEUE is not set +# CONFIG_IP6_NF_IPTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_WIRELESS is not set +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_FW_LOADER is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_CONCAT is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=y +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=y +# CONFIG_MTD_CFI_AMDSTD is not set +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +CONFIG_MTD_PHYSMAP=y +# CONFIG_MTD_PHYSMAP_COMPAT is not set +# CONFIG_MTD_ARM_INTEGRATOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +CONFIG_MTD_M25P80=y +CONFIG_M25PXX_USE_FAST_READ=y +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_GPIO is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_ALAUDA is not set +CONFIG_MTD_NAND_DAVINCI=y +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR flash memory drivers +# +# CONFIG_MTD_LPDDR is not set + +# +# UBI - Unsorted block images +# +# CONFIG_MTD_UBI is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=1 +CONFIG_BLK_DEV_RAM_SIZE=32768 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +CONFIG_MISC_DEVICES=y +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_ISL29003 is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +CONFIG_EEPROM_AT24=y +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_LIBFC is not set +# CONFIG_LIBFCOE is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y +CONFIG_SATA_AHCI=y +# CONFIG_ATA_SFF is not set +# CONFIG_MD is not set +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +CONFIG_TUN=m +# CONFIG_VETH is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +CONFIG_LXT_PHY=y +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +CONFIG_LSI_ET1011C_PHY=y +# CONFIG_FIXED_PHY is not set +# CONFIG_MDIO_BITBANG is not set +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +# CONFIG_AX88796 is not set +# CONFIG_SMC91X is not set +CONFIG_TI_DAVINCI_EMAC=y +# CONFIG_DM9000 is not set +# CONFIG_ENC28J60 is not set +# CONFIG_ETHOC is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +# CONFIG_DNET is not set +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set +# CONFIG_B44 is not set +# CONFIG_KS8842 is not set +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_NETDEV_1000 is not set +# CONFIG_NETDEV_10000 is not set +CONFIG_WLAN=y +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET is not set +# CONFIG_WAN is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +CONFIG_NETCONSOLE=y +# CONFIG_NETCONSOLE_DYNAMIC is not set +CONFIG_NETPOLL=y +CONFIG_NETPOLL_TRAP=y +CONFIG_NET_POLL_CONTROLLER=y +# CONFIG_ISDN is not set +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=m +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=m +CONFIG_INPUT_EVBUG=m + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set +CONFIG_KEYBOARD_ATKBD=m +# CONFIG_QT2160 is not set +# CONFIG_KEYBOARD_LKKBD is not set +CONFIG_KEYBOARD_GPIO=y +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +CONFIG_KEYBOARD_XTKBD=m +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +# CONFIG_TOUCHSCREEN_AD7877 is not set +# CONFIG_TOUCHSCREEN_AD7879_I2C is not set +# CONFIG_TOUCHSCREEN_AD7879_SPI is not set +# CONFIG_TOUCHSCREEN_AD7879 is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_MCS5000 is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_TOUCHSCREEN_TSC2007 is not set +# CONFIG_TOUCHSCREEN_W90X900 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +# CONFIG_VT_CONSOLE is not set +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=3 +CONFIG_SERIAL_8250_RUNTIME_UARTS=3 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_MAX3100 is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=8 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=m +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +CONFIG_I2C_DAVINCI=y +# CONFIG_I2C_DESIGNWARE is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set +CONFIG_SPI=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +CONFIG_SPI_DAVINCI=y +CONFIG_SPI_DAVINCI_DMA=y +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_GPIO is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_TLE62X0 is not set + +# +# PPS support +# +# CONFIG_PPS is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCF857X=y + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MCP23S08 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# AC97 GPIO expanders: +# +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +CONFIG_DAVINCI_WATCHDOG=y + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_TPS65010 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_MC13783 is not set +# CONFIG_AB3100_CORE is not set +# CONFIG_EZX_PCAP is not set +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_BQ24022 is not set +# CONFIG_REGULATOR_MAX1586 is not set +# CONFIG_REGULATOR_LP3971 is not set +# CONFIG_REGULATOR_TPS65023 is not set +CONFIG_REGULATOR_TPS6507X=y +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_DAVINCI is not set +# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_DA8XX=y +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_ARM=y +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +# CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_CAIAQ is not set +CONFIG_SND_SOC=y +CONFIG_SND_DAVINCI_SOC=y +CONFIG_SND_DAVINCI_SOC_MCASP=y +CONFIG_SND_DA850_SOC_EVM=y +CONFIG_SND_SOC_I2C_AND_SPI=y +# CONFIG_SND_SOC_ALL_CODECS is not set +CONFIG_SND_SOC_TLV320AIC3X=y +# CONFIG_SOUND_PRIME is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +# CONFIG_HIDRAW is not set + +# +# USB Input Devices +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_NTRIG is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SONY is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_ZEROPLUS is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +# CONFIG_USB_DEVICEFS is not set +# CONFIG_USB_DEVICE_CLASS is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1760_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HWA_HCD is not set +CONFIG_USB_MUSB_HDRC=y +CONFIG_USB_MUSB_SOC=y +# CONFIG_USB_MUSB_HOST is not set +# CONFIG_USB_MUSB_PERIPHERAL is not set +CONFIG_USB_MUSB_DUAL_ROLE=y +# CONFIG_USB_MUSB_OTG is not set +CONFIG_USB_GADGET_MUSB_HDRC=y +CONFIG_USB_MUSB_HDRC_HCD=y +# CONFIG_MUSB_PIO_ONLY is not set +# CONFIG_USB_INVENTRA_DMA is not set +# CONFIG_USB_TI_CPPI_DMA is not set +CONFIG_USB_TI_CPPI41_DMA=y +CONFIG_USB_MUSB_DEBUG=y + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_VST is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_R8A66597 is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C_HSOTG is not set +# CONFIG_USB_GADGET_IMX is not set +# CONFIG_USB_GADGET_S3C2410 is not set +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_CI13XXX is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_LANGWELL is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +CONFIG_USB_GADGET_DUALSPEED=y +# CONFIG_USB_ZERO is not set +# CONFIG_USB_AUDIO is not set +CONFIG_USB_ETH=y +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_ETH_EEM is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set + +# +# OTG and related infrastructure +# +CONFIG_USB_OTG_UTILS=y +# CONFIG_USB_GPIO_VBUS is not set +CONFIG_NOP_USB_XCEIV=y +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_AT91 is not set +# CONFIG_MMC_ATMELMCI is not set +CONFIG_MMC_DAVINCI=y +# CONFIG_MMC_SPI is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set +# CONFIG_RTC_DRV_PCF2123 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_OMAP=y +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set + +# +# TI VLYNQ +# +# CONFIG_STAGING is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +# CONFIG_EXT4_FS is not set +CONFIG_JBD=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +CONFIG_XFS_FS=m +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_POSIX_ACL is not set +# CONFIG_XFS_RT is not set +# CONFIG_XFS_DEBUG is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +CONFIG_AUTOFS4_FS=m +# CONFIG_FUSE_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_CRAMFS=y +# CONFIG_SQUASHFS is not set +# CONFIG_VXFS_FS is not set +CONFIG_MINIX_FS=m +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +CONFIG_ROOT_NFS=y +CONFIG_NFSD=m +CONFIG_NFSD_V3=y +# CONFIG_NFSD_V3_ACL is not set +# CONFIG_NFSD_V4 is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_EXPORTFS=m +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +CONFIG_SMB_FS=m +# CONFIG_SMB_NLS_DEFAULT is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +CONFIG_NLS_UTF8=m +# CONFIG_DLM is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_KERNEL is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_BUGVERBOSE is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +CONFIG_FRAME_POINTER=y +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LATENCYTOP is not set +# CONFIG_SYSCTL_SYSCALL_CHECK is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_ARM_UNWIND is not set +# CONFIG_DEBUG_USER is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +# CONFIG_CRYPTO_MANAGER is not set +# CONFIG_CRYPTO_MANAGER2 is not set +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_GHASH is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +# CONFIG_CRYPTO_SHA1 is not set +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_GENERIC_FIND_LAST_BIT=y +CONFIG_CRC_CCITT=m +# CONFIG_CRC16 is not set +CONFIG_CRC_T10DIF=m +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y +CONFIG_NLATTR=y diff --git a/recipes/linux/linux-davinci/hawkboard/patch_hawk.diff b/recipes/linux/linux-davinci/hawkboard/patch_hawk.diff new file mode 100644 index 0000000000..fb323236ac --- /dev/null +++ b/recipes/linux/linux-davinci/hawkboard/patch_hawk.diff @@ -0,0 +1,196 @@ +diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c +index 607dd2d..d7f5dff 100755 +--- a/arch/arm/mach-davinci/board-da850-evm.c ++++ b/arch/arm/mach-davinci/board-da850-evm.c +@@ -37,14 +37,14 @@ + #include <mach/nand.h> + #include <mach/mux.h> + +-#define DA850_EVM_PHY_MASK 0x1 ++#define DA850_EVM_PHY_MASK (1 << 7) + #define DA850_EVM_MDIO_FREQUENCY 2200000 /* PHY bus frequency */ + + #define DA850_LCD_PWR_PIN GPIO_TO_PIN(2, 8) + #define DA850_LCD_BL_PIN GPIO_TO_PIN(2, 15) + +-#define DA850_MMCSD_CD_PIN GPIO_TO_PIN(4, 0) +-#define DA850_MMCSD_WP_PIN GPIO_TO_PIN(4, 1) ++#define DA850_MMCSD_CD_PIN GPIO_TO_PIN(3, 12) ++#define DA850_MMCSD_WP_PIN GPIO_TO_PIN(3, 13) + + #define DA850_MII_MDIO_CLKEN_PIN GPIO_TO_PIN(2, 6) + +@@ -431,8 +431,8 @@ static struct davinci_uart_config da850_evm_uart_config __initdata = { + static u8 da850_iis_serializer_direction[] = { + INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, + INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, +- INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, TX_MODE, +- RX_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, ++ INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, ++ INACTIVE_MODE, TX_MODE, RX_MODE, INACTIVE_MODE, + }; + + static struct snd_platform_data da850_evm_snd_data = { +@@ -866,11 +866,11 @@ static __init void da850_evm_init(void) + { + int ret; + +- ret = pmic_tps65070_init(); ++/* ret = pmic_tps65070_init(); + if (ret) + pr_warning("da850_evm_init: TPS65070 PMIC init failed: %d\n", + ret); +- ++*/ + ret = da8xx_register_edma(); + if (ret) + pr_warning("da850_evm_init: edma registration failed: %d\n", +@@ -886,12 +886,26 @@ static __init void da850_evm_init(void) + pr_warning("da850_evm_init: i2c0 registration failed: %d\n", + ret); + ++ davinci_serial_init(&da850_evm_uart_config); ++ ++ i2c_register_board_info(1, da850_evm_i2c_devices, ++ ARRAY_SIZE(da850_evm_i2c_devices)); ++ ++ __raw_writel(0, IO_ADDRESS(0x01E13028)); ++ ++ /* ++ * shut down uart 0 and 1; they are not used on the board and ++ * accessing them causes endless "too much work in irq53" messages ++ * with arago fs ++ */ ++ __raw_writel(0, IO_ADDRESS(DA8XX_UART1_BASE) + 0x30); ++ __raw_writel(0, IO_ADDRESS(DA8XX_UART0_BASE) + 0x30); + + ret = da8xx_register_watchdog(); + if (ret) + pr_warning("da830_evm_init: watchdog registration failed: %d\n", + ret); +- ++ + if (HAS_MMC) { + ret = da8xx_pinmux_setup(da850_mmcsd0_pins); + if (ret) +@@ -916,19 +930,6 @@ static __init void da850_evm_init(void) + " %d\n", ret); + } + +- davinci_serial_init(&da850_evm_uart_config); +- +- i2c_register_board_info(1, da850_evm_i2c_devices, +- ARRAY_SIZE(da850_evm_i2c_devices)); +- +- /* +- * shut down uart 0 and 1; they are not used on the board and +- * accessing them causes endless "too much work in irq53" messages +- * with arago fs +- */ +- __raw_writel(0, IO_ADDRESS(DA8XX_UART1_BASE) + 0x30); +- __raw_writel(0, IO_ADDRESS(DA8XX_UART0_BASE) + 0x30); +- + if (HAS_MCBSP0) { + if (HAS_EMAC) + pr_warning("WARNING: both MCBSP0 and EMAC are " +@@ -988,15 +989,17 @@ static __init void da850_evm_init(void) + pr_warning("da850_evm_init: lcd initialization failed: %d\n", + ret); + +- ret = da8xx_register_lcdc(&sharp_lk043t1dg01_pdata); ++ ret = da8xx_register_lcdc(&vga_monitor_pdata); + if (ret) + pr_warning("da850_evm_init: lcdc registration failed: %d\n", + ret); + ++#if 0 + ret = da8xx_register_rtc(); + if (ret) + pr_warning("da850_evm_init: rtc setup failed: %d\n", ret); + ++ + ret = da850_register_cpufreq(); + if (ret) + pr_warning("da850_evm_init: cpufreq registration failed: %d\n", +@@ -1006,6 +1009,7 @@ static __init void da850_evm_init(void) + if (ret) + pr_warning("da850_evm_init: cpuidle registration failed: %d\n", + ret); ++#endif + + ret = da8xx_pinmux_setup(da850_spi1_pins); + if (ret) +@@ -1021,6 +1025,7 @@ static __init void da850_evm_init(void) + if (ret) + pr_warning("da850_evm_init: SATA registration failed: %d\n", + ret); ++ + } + + #ifdef CONFIG_SERIAL_8250_CONSOLE +diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c +index 94355fa..cda39a3 100644 +--- a/arch/arm/mach-davinci/da850.c ++++ b/arch/arm/mach-davinci/da850.c +@@ -658,7 +658,7 @@ const short da850_rmii_pins[] __initdata = { + const short da850_mcasp_pins[] __initdata = { + DA850_AHCLKX, DA850_ACLKX, DA850_AFSX, + DA850_AHCLKR, DA850_ACLKR, DA850_AFSR, DA850_AMUTE, +- DA850_AXR_11, DA850_AXR_12, ++ DA850_AXR_11, DA850_AXR_12, DA850_AXR_13, DA850_AXR_14, + -1 + }; + +diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c +index b3f1317..7218539 100755 +--- a/arch/arm/mach-davinci/devices-da8xx.c ++++ b/arch/arm/mach-davinci/devices-da8xx.c +@@ -396,6 +396,11 @@ struct da8xx_lcdc_platform_data sharp_lk043t1dg01_pdata = { + .controller_data = &lcd_cfg, + .type = "Sharp_LK043T1DG01", + }; ++struct da8xx_lcdc_platform_data vga_monitor_pdata = { ++ .manu_name = "vga_monitor", ++ .controller_data = &lcd_cfg, ++ .type = "VGA_Monitor", ++}; + + #if !defined(CONFIG_FB_DA8XX) && !defined(CONFIG_FB_DA8XX_MODULE) + static struct da8xx_clcd_platform_data da8xx_evm_clcd_pdata = { +diff --git a/arch/arm/mach-davinci/include/mach/da8xx.h b/arch/arm/mach-davinci/include/mach/da8xx.h +index 362ff83..8da6983 100644 +--- a/arch/arm/mach-davinci/include/mach/da8xx.h ++++ b/arch/arm/mach-davinci/include/mach/da8xx.h +@@ -110,6 +110,7 @@ extern struct platform_device da8xx_serial_device; + extern struct emac_platform_data da8xx_emac_pdata; + extern struct da8xx_lcdc_platform_data sharp_lcd035q3dg01_pdata; + extern struct da8xx_lcdc_platform_data sharp_lk043t1dg01_pdata; ++extern struct da8xx_lcdc_platform_data vga_monitor_pdata; + void da8xx_usb20_configure(struct musb_hdrc_platform_data *pdata, u8 num_inst); + + extern const short da830_emif25_pins[]; +diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c +index 67550e6..5e32391 100644 +--- a/drivers/video/da8xx-fb.c ++++ b/drivers/video/da8xx-fb.c +@@ -193,6 +193,20 @@ static struct da8xx_panel known_lcd_panels[] = { + .pxl_clk = 7833600, + .invert_pxl_clk = 0, + }, ++ /* CRT Monitor or LCD Screen */ ++ [2] = { ++ .name = "VGA_Monitor", ++ .width = 640, ++ .height = 480, ++ .hfp = 48, ++ .hbp = 48, ++ .hsw = 63, ++ .vfp = 11, ++ .vbp = 31, ++ .vsw = 1, ++ .pxl_clk = 25000000, ++ .invert_pxl_clk = 1, ++ }, + }; + + /* Disable the Raster Engine of the LCD Controller */ diff --git a/recipes/linux/linux-davinci_git.bb b/recipes/linux/linux-davinci_git.bb index d5759ac84f..ffa1a35950 100644 --- a/recipes/linux/linux-davinci_git.bb +++ b/recipes/linux/linux-davinci_git.bb @@ -3,7 +3,7 @@ require linux.inc DESCRIPTION = "Linux kernel for Davinci processors" KERNEL_IMAGETYPE = "uImage" -COMPATIBLE_MACHINE = "(dm6446-evm|dm6467-evm|dm6467t-evm|dm355-evm|dm365-evm|da830-omapl137-evm|da850-omapl138-evm|davinci-sffsdr|dm355-leopard)" +COMPATIBLE_MACHINE = "(dm6446-evm|dm6467-evm|dm6467t-evm|dm355-evm|dm365-evm|da830-omapl137-evm|da850-omapl138-evm|davinci-sffsdr|dm355-leopard|hawkboard)" DEFAULT_PREFERENCE = "1" @@ -12,6 +12,7 @@ SRCREV = "835d1ac43b1c0428cb0f7f91fbaf708ba8e7e504" # OMAPL commits for PSP 3.20.00.07 Release Tag SRCREV_da830-omapl137-evm = "b60234a5b0ee985912ecb59d3e689c1ed4baa46c" SRCREV_da850-omapl138-evm = "b60234a5b0ee985912ecb59d3e689c1ed4baa46c" +SRCREV_hawkboard = "b60234a5b0ee985912ecb59d3e689c1ed4baa46c" BRANCH = "master" @@ -27,4 +28,8 @@ SRC_URI_da830-omapl137-evm = "git://arago-project.org/git/people/sekhar/linux-om SRC_URI_da850-omapl138-evm = "git://arago-project.org/git/people/sekhar/linux-omapl1.git;protocol=git;branch=${BRANCH} \ file://defconfig" +SRC_URI_hawkboard = "git://arago-project.org/git/people/sekhar/linux-omapl1.git;protocol=git;branch=${BRANCH} \ + file://patch_hawk.diff;patch=1 \ + file://defconfig" + S = "${WORKDIR}/git" diff --git a/recipes/linux/linux-openmoko-2.6.31_git.bb b/recipes/linux/linux-openmoko-2.6.31_git.bb index d4622e1345..346cdece1e 100644 --- a/recipes/linux/linux-openmoko-2.6.31_git.bb +++ b/recipes/linux/linux-openmoko-2.6.31_git.bb @@ -8,7 +8,7 @@ KERNEL_VERSION = "${KERNEL_RELEASE}" OEV = "oe1" PV = "${KERNEL_RELEASE}-${OEV}+gitr${SRCREV}" -PR = "r2" +PR = "r4" SRC_URI = "\ git://git.openmoko.org/git/kernel.git;protocol=git;branch=om-2.6.31 \ diff --git a/recipes/linux/linux-openmoko-shr-devel_git.bb b/recipes/linux/linux-openmoko-shr-devel_git.bb index 36c48378a3..26a995d0b8 100644 --- a/recipes/linux/linux-openmoko-shr-devel_git.bb +++ b/recipes/linux/linux-openmoko-shr-devel_git.bb @@ -8,7 +8,7 @@ KERNEL_VERSION = "2.6.29-rc3" OMV = "oe11" PV = "${KERNEL_RELEASE}-${OMV}+gitr${SRCREV}" -PR = "r3.5" +PR = "r5" SRC_URI = "\ git://git.openmoko.org/git/kernel.git;protocol=git;branch=andy-tracking \ diff --git a/recipes/linux/linux-openmoko-shr-drm-devel_git.bb b/recipes/linux/linux-openmoko-shr-drm-devel_git.bb index 671ad758c4..e02cc6f135 100644 --- a/recipes/linux/linux-openmoko-shr-drm-devel_git.bb +++ b/recipes/linux/linux-openmoko-shr-drm-devel_git.bb @@ -9,7 +9,7 @@ KERNEL_VERSION = "2.6.29-rc3-drm" OMV = "oe15" PV = "${KERNEL_RELEASE}-drm-${OMV}+gitr${SRCREV}" -PR = "r2" +PR = "r4" SRC_URI = "\ git://git.openmoko.org/git/kernel.git;protocol=git;branch=drm-tracking \ diff --git a/recipes/linux/linux.inc b/recipes/linux/linux.inc index 044d4130c5..0cce833694 100644 --- a/recipes/linux/linux.inc +++ b/recipes/linux/linux.inc @@ -169,7 +169,7 @@ do_devicetree_image() { fi } -addtask devicetree_image after do_deploy before do_package +addtask devicetree_image after do_install before do_package do_deploy pkg_postinst_kernel-devicetree () { cd /${KERNEL_IMAGEDEST}; update-alternatives --install /${KERNEL_IMAGEDEST}/devicetree devicetree devicetree-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true diff --git a/recipes/ltrace/files/ltrace-compile.patch b/recipes/ltrace/files/ltrace-compile.patch index 8323a5c501..4784deb6df 100644 --- a/recipes/ltrace/files/ltrace-compile.patch +++ b/recipes/ltrace/files/ltrace-compile.patch @@ -54,7 +54,7 @@ Index: ltrace-0.5.3/configure CFLAGS='-g -O2' LIBS='-lelf -lsupc++ -liberty ' -INSTALL='/usr/bin/install -c' -+INSTALL='$/usr/bin/install -c' ++INSTALL='install -c' iquote='-iquote ' iquoteend='' diff --git a/recipes/ltrace/ltrace_0.5.3.bb b/recipes/ltrace/ltrace_0.5.3.bb index 9296510f7d..4130c29f68 100644 --- a/recipes/ltrace/ltrace_0.5.3.bb +++ b/recipes/ltrace/ltrace_0.5.3.bb @@ -1,7 +1,7 @@ DESCRIPTION = "ltrace shows runtime library call information for dynamically linked executables." HOMEPAGE = "http://ltrace.alioth.debian.org" SECTION = "devel" -DEPENDS = "coreutils-native libelf" +DEPENDS = "libelf" LICENSE = "GPLv2" SRC_URI = "\ @@ -15,12 +15,6 @@ SRC_URI = "\ " inherit autotools -PARALLEL_MAKE = "" -EXTRA_OEMAKE = "INSTALL_FILE='$(INSTALL) -p -m 0644' \ - INSTALL_PROGRAM='$(INSTALL) -p -m 0755' \ - INSTALL_SCRIPT='$(INSTALL) -p -m 0755' \ - INSTALL_DIR='$(INSTALL) -p -d -m 0755' " - export TARGET_CFLAGS = "${SELECTED_OPTIMIZATION} -isystem ${STAGING_INCDIR}" TARGET_CC_ARCH += "${LDFLAGS}" @@ -71,5 +65,5 @@ do_install() { sparc*) LTRACE_ARCH=sparc ;; x86_64*) LTRACE_ARCH=x86_64 ;; esac - oe_runmake install ${EXTRA_OEMAKE} ARCH=${LTRACE_ARCH} INSTALL=${STAGING_BINDIR_NATIVE}/install.coreutils-native DESTDIR=${D} + oe_runmake install ${EXTRA_OEMAKE} ARCH=${LTRACE_ARCH} DESTDIR=${D} } diff --git a/recipes/netbase/netbase/shr/init b/recipes/netbase/netbase/shr/init new file mode 100644 index 0000000000..32810dc913 --- /dev/null +++ b/recipes/netbase/netbase/shr/init @@ -0,0 +1,46 @@ +#!/bin/sh +# +# manage network interfaces and configure some networking options + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +if ! [ -x /sbin/ifup ]; then + exit 0 +fi + +case "$1" in + start) + echo -n "Configuring network interfaces... " + ifup -a + echo "done." + ;; + stop) + if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts | + grep -q "^/ nfs$"; then + echo "NOT deconfiguring network interfaces: / is an NFS mount" + elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts | + grep -q "^/ smbfs$"; then + echo "NOT deconfiguring network interfaces: / is an SMB mount" + elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts | + grep -qE '^(nfs|smbfs|ncp|coda)$'; then + echo "NOT deconfiguring network interfaces: network shares still mounted." + else + echo -n "Deconfiguring network interfaces... " + ifdown -a + echo "done." + fi + ;; + force-reload|restart) + echo -n "Reconfiguring network interfaces... " + ifdown -a + ifup -a + echo "done." + ;; + *) + echo "Usage: /etc/init.d/networking {start|stop|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 + diff --git a/recipes/netbase/netbase/shr/options b/recipes/netbase/netbase/shr/options new file mode 100644 index 0000000000..1cbffcb365 --- /dev/null +++ b/recipes/netbase/netbase/shr/options @@ -0,0 +1 @@ +# DEPRECATED by /etc/sysctl.conf diff --git a/recipes/opkg/opkg-nogpg-nocurl_svn.bb b/recipes/opkg/opkg-nogpg-nocurl_svn.bb index 5e1caa90d9..cd8751ae87 100644 --- a/recipes/opkg/opkg-nogpg-nocurl_svn.bb +++ b/recipes/opkg/opkg-nogpg-nocurl_svn.bb @@ -1,24 +1,13 @@ -require opkg_svn.bb +require opkg-nogpg_svn.bb DEPENDS = "" PROVIDES += "opkg" -SRC_URI += " \ - file://opkg_wget.patch;patch=1;maxrev=180 \ - file://reduce-nogpg-noise.patch;patch=1;maxrev=180 \ - file://opkg_wget_nogpg_01_use_vfork_gunzip.patch;patch=1 \ - file://opkg_wget_nogpg_02_use_vfork_system.patch;patch=1 \ - file://opkg_wget_nogpg_03_fix_tmpdirs.patch;patch=1 \ - file://opkg_wget_nogpg_04_default_tmpdir.patch;patch=1 \ - " PR = "${INC_PR}" SRCREV = "${SRCREV_pn-opkg}" -EXTRA_OECONF += "--disable-gpg --enable-static --disable-shared" - -# NOTE: Use this one after svn rev 180 (should be a different recipe) -#EXTRA_OECONF += "--disable-gpg --disable-curl --enable-static --disable-shared" +EXTRA_OECONF += " --disable-curl --enable-static --disable-shared" # The nogpg version isn't getting much love and has an unused variable which trips up -Werror do_configure_prepend() { diff --git a/recipes/opkg/opkg-nogpg_svn.bb b/recipes/opkg/opkg-nogpg_svn.bb index a0f9614a37..9ddc589b49 100644 --- a/recipes/opkg/opkg-nogpg_svn.bb +++ b/recipes/opkg/opkg-nogpg_svn.bb @@ -3,11 +3,18 @@ require opkg_svn.bb DEPENDS = "curl" PROVIDES += "opkg" -PR = "${INC_PR}" +PR = "${INC_PR}.1" SRCREV = "${SRCREV_pn-opkg}" -EXTRA_OECONF += "--disable-gpg" +EXTRA_OECONF += " --disable-gpg \ + --disable-openssl \ + --disable-ssl-curl \ + --enable-gpg=no \ + --enable-ssl-curl=no \ + --enable-openssl=no" + +LDFLAGS_append = " -Wl,--as-needed" # The nogpg version isn't getting much love and has an unused variable which trips up -Werror do_configure_prepend() { diff --git a/recipes/opkg/opkg.inc b/recipes/opkg/opkg.inc index d744e72223..2e7baee496 100644 --- a/recipes/opkg/opkg.inc +++ b/recipes/opkg/opkg.inc @@ -10,8 +10,8 @@ FILESPATHPKG =. "opkg:" SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;proto=http \ file://opkg_unarchive.patch;patch=1;maxrev=201 \ - file://opkg-intercept-cleanup.patch;patch=1 \ - file://isatty.patch;patch=1" + file://opkg-intercept-cleanup.patch;patch=1;maxrev=241 \ +" SRC_URI += "file://configure" diff --git a/recipes/pam/libpam-1.1.0/pam-nodocs.patch b/recipes/pam/libpam-1.1.0/pam-nodocs.patch new file mode 100644 index 0000000000..895f0e182a --- /dev/null +++ b/recipes/pam/libpam-1.1.0/pam-nodocs.patch @@ -0,0 +1,35 @@ +--- /tmp/Makefile.am 2008-09-05 15:16:21.000000000 +0200 ++++ Linux-PAM-1.0.2/Makefile.am 2008-09-05 15:16:56.153198000 +0200 +@@ -5,9 +5,9 @@ + AUTOMAKE_OPTIONS = 1.9 gnu dist-bzip2 check-news + + if STATIC_MODULES +-SUBDIRS = modules libpam libpamc libpam_misc tests po conf doc examples xtests ++SUBDIRS = modules libpam libpamc libpam_misc tests po conf examples xtests + else +-SUBDIRS = libpam tests libpamc libpam_misc modules po conf doc examples xtests ++SUBDIRS = libpam tests libpamc libpam_misc modules po conf examples xtests + endif + + CLEANFILES = *~ +@@ -28,19 +28,7 @@ + + ACLOCAL_AMFLAGS = -I m4 + +-release: dist releasedocs +- +-release-docs: releasedocs +- +-releasedocs: +- rm -rf Linux-PAM-$(VERSION) +- mkdir -p Linux-PAM-$(VERSION)/doc +- make -C doc releasedocs +- tar zfc Linux-PAM-$(VERSION)-docs.tar.gz \ +- Linux-PAM-$(VERSION)/doc +- tar jfc Linux-PAM-$(VERSION)-docs.tar.bz2 \ +- Linux-PAM-$(VERSION)/doc +- rm -rf Linux-PAM-$(VERSION) ++release: dist + + xtests: + make -C xtests xtests diff --git a/recipes/pam/libpam-base-files.bb b/recipes/pam/libpam-base-files.bb new file mode 100644 index 0000000000..0fa11d8051 --- /dev/null +++ b/recipes/pam/libpam-base-files.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Linux-PAM authentication library for Linux. Base configuration files" + +SECTION = "libs" +PRIORITY = "optional" +LICENSE = "GPLv2" +DEPENDS = "" +RDEPENDS = "libpam" + +PR = "r1" + +SRC_URI = " \ + file://pam.d/* \ +" + +do_install() { + install -d ${D}${sysconfdir}/pam.d/ + install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ +} diff --git a/recipes/pam/libpam-base-files/pam.d/atd b/recipes/pam/libpam-base-files/pam.d/atd new file mode 100644 index 0000000000..17ffb134d3 --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/atd @@ -0,0 +1,10 @@ +# +# The PAM configuration file for the at daemon +# + +auth required pam_env.so +auth include common-auth +account include common-account +password include common-password +session required pam_limits.so +session include common-session diff --git a/recipes/pam/libpam-base-files/pam.d/common-account b/recipes/pam/libpam-base-files/pam.d/common-account new file mode 100644 index 0000000000..316b17337b --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/common-account @@ -0,0 +1,25 @@ +# +# /etc/pam.d/common-account - authorization settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authorization modules that define +# the central access policy for use on the system. The default is to +# only deny service to users whose accounts are expired in /etc/shadow. +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. +# + +# here are the per-package modules (the "Primary" block) +account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so +# here's the fallback if no module succeeds +account requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +account required pam_permit.so +# and here are more per-package modules (the "Additional" block) +# end of pam-auth-update config diff --git a/recipes/pam/libpam-base-files/pam.d/common-auth b/recipes/pam/libpam-base-files/pam.d/common-auth new file mode 100644 index 0000000000..460b69f198 --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/common-auth @@ -0,0 +1,18 @@ +# +# /etc/pam.d/common-auth - authentication settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authentication modules that define +# the central authentication scheme for use on the system +# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the +# traditional Unix authentication mechanisms. + +# here are the per-package modules (the "Primary" block) +auth [success=1 default=ignore] pam_unix.so nullok_secure +# here's the fallback if no module succeeds +auth requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +auth required pam_permit.so +# and here are more per-package modules (the "Additional" block) diff --git a/recipes/pam/libpam-base-files/pam.d/common-password b/recipes/pam/libpam-base-files/pam.d/common-password new file mode 100644 index 0000000000..bc98f199b9 --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/common-password @@ -0,0 +1,27 @@ +# +# /etc/pam.d/common-password - password-related modules common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of modules that define the services to be +# used to change user passwords. The default is pam_unix. + +# Explanation of pam_unix options: +# +# The "sha512" option enables salted SHA512 passwords. Without this option, +# the default is Unix crypt. Prior releases used the option "md5". +# +# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in +# login.defs. +# +# See the pam_unix manpage for other options. + +# here are the per-package modules (the "Primary" block) +password [success=1 default=ignore] pam_unix.so obscure sha512 +# here's the fallback if no module succeeds +password requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +password required pam_permit.so +# and here are more per-package modules (the "Additional" block) +password optional pam_gnome_keyring.so diff --git a/recipes/pam/libpam-base-files/pam.d/common-session b/recipes/pam/libpam-base-files/pam.d/common-session new file mode 100644 index 0000000000..2123967d15 --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/common-session @@ -0,0 +1,20 @@ +# +# /etc/pam.d/common-session - session-related modules common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of modules that define tasks to be performed +# at the start and end of sessions of *any* kind (both interactive and +# non-interactive). +# + +# here are the per-package modules (the "Primary" block) +session [default=1] pam_permit.so +# here's the fallback if no module succeeds +session requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +session required pam_permit.so +# and here are more per-package modules (the "Additional" block) +session required pam_unix.so +session optional pam_ck_connector.so nox11 diff --git a/recipes/pam/libpam-base-files/pam.d/common-session-noninteractive b/recipes/pam/libpam-base-files/pam.d/common-session-noninteractive new file mode 100644 index 0000000000..b110bb2b49 --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/common-session-noninteractive @@ -0,0 +1,19 @@ +# +# /etc/pam.d/common-session-noninteractive - session-related modules +# common to all non-interactive services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of modules that define tasks to be performed +# at the start and end of all non-interactive sessions. +# + +# here are the per-package modules (the "Primary" block) +session [default=1] pam_permit.so +# here's the fallback if no module succeeds +session requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +session required pam_permit.so +# and here are more per-package modules (the "Additional" block) +session required pam_unix.so diff --git a/recipes/pam/libpam-base-files/pam.d/cron b/recipes/pam/libpam-base-files/pam.d/cron new file mode 100644 index 0000000000..743c0ed31f --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/cron @@ -0,0 +1,11 @@ +# +# The PAM configuration file for the cron daemon +# + +auth include common-auth +session required pam_env.so +account include common-account +session include common-session-noninteractive +# Sets up user limits, please define limits for cron tasks +# through /etc/security/limits.conf +session required pam_limits.so diff --git a/recipes/pam/libpam-base-files/pam.d/cups b/recipes/pam/libpam-base-files/pam.d/cups new file mode 100644 index 0000000000..8e7f973a2c --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/cups @@ -0,0 +1,3 @@ +auth include common-auth +account include common-account +session include common-session diff --git a/recipes/pam/libpam-base-files/pam.d/cvs b/recipes/pam/libpam-base-files/pam.d/cvs new file mode 100644 index 0000000000..9627c4f7bf --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/cvs @@ -0,0 +1,12 @@ +# +# /etc/pam.d/cvs - specify the PAM behaviour of CVS +# + +# We fall back to the system default in /etc/pam.d/common-* + +auth include common-auth +account include common-account + +# We don't use password or session modules at all +# password include common-password +# session include common-session diff --git a/recipes/pam/libpam-base-files/pam.d/libcupsys2 b/recipes/pam/libpam-base-files/pam.d/libcupsys2 new file mode 100644 index 0000000000..8e7f973a2c --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/libcupsys2 @@ -0,0 +1,3 @@ +auth include common-auth +account include common-account +session include common-session diff --git a/recipes/pam/libpam-base-files/pam.d/other b/recipes/pam/libpam-base-files/pam.d/other new file mode 100644 index 0000000000..6e40cd0c02 --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/other @@ -0,0 +1,27 @@ +# +# /etc/pam.d/other - specify the PAM fallback behaviour +# +# Note that this file is used for any unspecified service; for example +#if /etc/pam.d/cron specifies no session modules but cron calls +#pam_open_session, the session module out of /etc/pam.d/other is +#used. + +#If you really want nothing to happen then use pam_permit.so or +#pam_deny.so as appropriate. + +# We use pam_warn.so to generate syslog notes that the 'other' +#fallback rules are being used (as a hint to suggest you should setup +#specific PAM rules for the service and aid to debugging). We then +#fall back to the system default in /etc/pam.d/common-* + +auth required pam_warn.so +auth include common-auth + +account required pam_warn.so +account include common-account + +password required pam_warn.so +password include common-password + +session required pam_warn.so +session include common-session diff --git a/recipes/pam/libpam-base-files/pam.d/polkit b/recipes/pam/libpam-base-files/pam.d/polkit new file mode 100644 index 0000000000..836b53d61a --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/polkit @@ -0,0 +1,6 @@ +#%PAM-1.0 + +auth include common-auth +account include common-account +password include common-password +session include common-session diff --git a/recipes/pam/libpam-base-files/pam.d/polkit-1 b/recipes/pam/libpam-base-files/pam.d/polkit-1 new file mode 100644 index 0000000000..836b53d61a --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/polkit-1 @@ -0,0 +1,6 @@ +#%PAM-1.0 + +auth include common-auth +account include common-account +password include common-password +session include common-session diff --git a/recipes/pam/libpam-base-files/pam.d/ppp b/recipes/pam/libpam-base-files/pam.d/ppp new file mode 100644 index 0000000000..aed08fd1b2 --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/ppp @@ -0,0 +1,8 @@ +#%PAM-1.0 +# Information for the PPPD process with the 'login' option. + +auth required pam_nologin.so +auth include common-auth +account include common-account +session include common-session + diff --git a/recipes/pam/libpam-base-files/pam.d/sesman b/recipes/pam/libpam-base-files/pam.d/sesman new file mode 100644 index 0000000000..836b53d61a --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/sesman @@ -0,0 +1,6 @@ +#%PAM-1.0 + +auth include common-auth +account include common-account +password include common-password +session include common-session diff --git a/recipes/pam/libpam-base-files/pam.d/sshd b/recipes/pam/libpam-base-files/pam.d/sshd new file mode 100644 index 0000000000..c0028ff3cb --- /dev/null +++ b/recipes/pam/libpam-base-files/pam.d/sshd @@ -0,0 +1,33 @@ +# PAM configuration for the Secure Shell service + +# Read environment variables from /etc/environment and +# /etc/security/pam_env.conf. +auth required pam_env.so # [1] + +# Standard Un*x authentication. +auth include common-auth + +# Disallow non-root logins when /etc/nologin exists. +account required pam_nologin.so + +# Uncomment and edit /etc/security/access.conf if you need to set complex +# access limits that are hard to express in sshd_config. +# account required pam_access.so + +# Standard Un*x authorization. +account include common-accountt + +# Standard Un*x session setup and teardown. +session include common-session + +# Print the message of the day upon successful login. +session optional pam_motd.so # [1] + +# Print the status of the user's mailbox upon successful login. +session optional pam_mail.so standard noenv # [1] + +# Set up user limits from /etc/security/limits.conf. +session required pam_limits.so + +# Standard Un*x password updating. +password include common-password diff --git a/recipes/pam/libpam_1.0.2.bb b/recipes/pam/libpam_1.0.2.bb index b288458e98..1ab7fa95f9 100644 --- a/recipes/pam/libpam_1.0.2.bb +++ b/recipes/pam/libpam_1.0.2.bb @@ -12,7 +12,10 @@ LICENSE = "GPLv2" DEPENDS = "flex flex-native" -PR = "r4" +# PAM is not a lot of use without configuration files and the plugins +RRECOMMENDS_${PN} = "libpam-meta libpam-base-files" + +PR = "r5" # The project is actually called Linux-PAM but that gives # a bad OE package name because of the upper case characters @@ -66,7 +69,6 @@ python populate_packages_prepend () { bb.data.setVar('PACKAGES', ' '.join(packages), d) } - do_stage() { autotools_stage_all } diff --git a/recipes/pam/libpam_1.1.0.bb b/recipes/pam/libpam_1.1.0.bb new file mode 100644 index 0000000000..32dc9e15cb --- /dev/null +++ b/recipes/pam/libpam_1.1.0.bb @@ -0,0 +1,70 @@ +DESCRIPTION = "\ +PAM authentication library for Linux. \ +Linux-PAM (Pluggable Authentication Modules for Linux) is a \ +library that enables the local system administrator to choose \ +how individual applications authenticate users. For an \ +overview of the Linux-PAM library see the Linux-PAM System \ +Administrators' Guide." +HOMEPAGE = "http://kernel.org/pub/linux/libs/pam" +SECTION = "libs" +PRIORITY = "optional" +LICENSE = "GPLv2" + +DEFAULT_PREFERENCE_libc-uclibc = "-1" + +DEPENDS = "flex flex-native" + +# PAM is not a lot of use without configuration files and the plugins +RRECOMMENDS_${PN} = "libpam-meta libpam-base-files" + +PR = "r0" + +# The project is actually called Linux-PAM but that gives +# a bad OE package name because of the upper case characters +pn = "Linux-PAM" +p = "${pn}-${PV}" +S = "${WORKDIR}/${p}" + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/pam/library/${p}.tar.bz2 \ + file://pam-nodocs.patch;patch=1 " + +inherit autotools + +LEAD_SONAME = "libpam.so.*" + +# maintain the pam default layout +EXTRA_OECONF += " --includedir=${includedir}/security" + +PACKAGES_DYNAMIC += " libpam-meta pam-plugin-*" + +python populate_packages_prepend () { + import os.path + + pam_libdir = bb.data.expand('${libdir}/security', d) + pam_libdirdebug = bb.data.expand('${libdir}/security/.debug', d) + pam_filterdir = bb.data.expand('${libdir}/security/pam_filter', d) + do_split_packages(d, pam_libdir, '^pam(.*)\.so$', 'pam-plugin%s', 'PAM plugin for %s', extra_depends='') + do_split_packages(d, pam_libdir, '^pam(.*)\.la$', 'pam-plugin%s-dev', 'PAM plugin for %s dev', extra_depends='') + if os.path.exists(pam_libdirdebug): + do_split_packages(d, pam_libdirdebug, '^pam(.*)\.so$', 'pam-plugin%s-dbg', 'PAM plugin for %s debugging symbols', extra_depends='') + do_split_packages(d, pam_filterdir, '^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='') + + pn = bb.data.getVar('PN', d, 1) + metapkg = pn + '-meta' + bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d) + bb.data.setVar('FILES_' + metapkg, "", d) + blacklist = [ pn + '-locale', pn + '-dev', pn + '-dbg', pn + '-doc' ] + metapkg_rdepends = [] + packages = bb.data.getVar('PACKAGES', d, 1).split() + for pkg in packages[1:]: + if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.count('locale') and pkg.count('plugin'): + metapkg_rdepends.append(pkg) + bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d) + bb.data.setVar('DESCRIPTION_' + metapkg, pn + ' meta package', d) + packages.append(metapkg) + bb.data.setVar('PACKAGES', ' '.join(packages), d) +} + +do_stage() { + autotools_stage_all +} diff --git a/recipes/sane/sane-backends-1.0.20/Makefile.in.patch b/recipes/sane/sane-backends-1.0.20/Makefile.in.patch new file mode 100644 index 0000000000..a545d0413b --- /dev/null +++ b/recipes/sane/sane-backends-1.0.20/Makefile.in.patch @@ -0,0 +1,13 @@ +Index: sane-backends-1.0.20/Makefile.in +=================================================================== +--- sane-backends-1.0.20.orig/Makefile.in 2009-04-30 15:41:20.000000000 +0200 ++++ sane-backends-1.0.20/Makefile.in 2009-11-23 19:19:38.000000000 +0100 +@@ -244,7 +244,7 @@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-SUBDIRS = include lib sanei backend frontend tools doc po ++SUBDIRS = include lib sanei backend frontend tools po + DIST_SUBDIRS = include lib sanei backend frontend tools doc po japi testsuite + dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \ + README README.aix README.beos README.darwin README.djpeg README.freebsd \ diff --git a/recipes/sane/sane-backends-1.0.20/byteorder.m4 b/recipes/sane/sane-backends-1.0.20/byteorder.m4 new file mode 100644 index 0000000000..693f939b7d --- /dev/null +++ b/recipes/sane/sane-backends-1.0.20/byteorder.m4 @@ -0,0 +1,354 @@ +dnl AC_NEED_BYTEORDER_H ( HEADER-TO-GENERATE ) +dnl Copyright 2001-2002 by Dan Fandrich <dan@coneharvesters.com> +dnl This file may be copied and used freely without restrictions. No warranty +dnl is expressed or implied. +dnl +dnl Create a header file that guarantees that byte swapping macros of the +dnl ntohl variety as well as the extended types included in OpenBSD and +dnl NetBSD such as le32toh are defined. If possible, the standard ntohl +dnl are overloaded as they are optimized for the given platform, but when +dnl this is not possible (e.g. on a big-endian machine) they are defined +dnl in this file. + +dnl Look for a symbol in a header file +dnl AC_HAVE_SYMBOL ( IDENTIFIER, HEADER-FILE, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND ) +AC_DEFUN([AC_HAVE_SYMBOL], +[ +AC_MSG_CHECKING(for $1 in $2) +AC_EGREP_CPP([symbol is present|\<$1\>],[ +#include <$2> +#ifdef $1 + symbol is present +#endif + ], +[AC_MSG_RESULT(yes) +$3 +], +[AC_MSG_RESULT(no) +$4 +])]) + + +dnl Create a header file that defines extended byte swapping macros +AC_DEFUN([AC_NEED_BYTEORDER_H], +[ +changequote(, )dnl +ac_dir=`echo $1|sed 's%/[^/][^/]*$%%'` +changequote([, ])dnl +if test "$ac_dir" != "$1" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" +fi + +# We're only interested in the target CPU, but it's not always set +effective_target="$target" +if test "x$effective_target" = xNONE -o "x$effective_target" = x ; then + effective_target="$host" +fi +AC_SUBST(effective_target) + +cat > "$1" << EOF +/* This file is generated automatically by configure */ +/* It is valid only for the system type ${effective_target} */ + +#ifndef __BYTEORDER_H +#define __BYTEORDER_H + +EOF + +dnl First, do an endian check +AC_C_BIGENDIAN + +dnl Look for NetBSD-style extended byte swapping macros +AC_HAVE_SYMBOL(le32toh,machine/endian.h, + [HAVE_LE32TOH=1 + cat >> "$1" << EOF +/* extended byte swapping macros are already available */ +#include <machine/endian.h> + +EOF], + +[ + +dnl Look for standard byte swapping macros +AC_HAVE_SYMBOL(ntohl,arpa/inet.h, + [cat >> "$1" << EOF +/* ntohl and relatives live here */ +#include <arpa/inet.h> + +EOF], + + [AC_HAVE_SYMBOL(ntohl,netinet/in.h, + [cat >> "$1" << EOF +/* ntohl and relatives live here */ +#include <netinet/in.h> + +EOF],true)]) +]) + +dnl Look for generic byte swapping macros + +dnl OpenBSD +AC_HAVE_SYMBOL(swap32,machine/endian.h, + [cat >> "$1" << EOF +/* swap32 and swap16 are defined in machine/endian.h */ + +EOF], + + [ +dnl Linux GLIBC + AC_HAVE_SYMBOL(bswap_32,byteswap.h, + [cat >> "$1" << EOF +/* Define generic byte swapping functions */ +#include <byteswap.h> +#define swap16(x) bswap_16(x) +#define swap32(x) bswap_32(x) +#define swap64(x) bswap_64(x) + +EOF], + + [ +dnl NetBSD + AC_HAVE_SYMBOL(bswap32,machine/endian.h, + dnl We're already including machine/endian.h if this test succeeds + [cat >> "$1" << EOF +/* Define generic byte swapping functions */ +EOF + if test "$HAVE_LE32TOH" != "1"; then + echo '#include <machine/endian.h>'>> "$1" + fi +cat >> "$1" << EOF +#define swap16(x) bswap16(x) +#define swap32(x) bswap32(x) +#define swap64(x) bswap64(x) + +EOF], + + [ +dnl FreeBSD + AC_HAVE_SYMBOL(__byte_swap_long,sys/types.h, + [cat >> "$1" << EOF +/* Define generic byte swapping functions */ +#include <sys/types.h> +#define swap16(x) __byte_swap_word(x) +#define swap32(x) __byte_swap_long(x) +/* No optimized 64 bit byte swapping macro is available */ +#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ + ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ + ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ + ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ + ((x) >> 8) & 0x00000000ff000000ULL | \\ + ((x) >> 24) & 0x0000000000ff0000ULL | \\ + ((x) >> 40) & 0x000000000000ff00ULL | \\ + ((x) >> 56) & 0x00000000000000ffULL)) + +EOF], + + [ +dnl OS X + AC_HAVE_SYMBOL(NXSwapLong,machine/byte_order.h, + [cat >> "$1" << EOF +/* Define generic byte swapping functions */ +#include <machine/byte_order.h> +#define swap16(x) NXSwapShort(x) +#define swap32(x) NXSwapLong(x) +#define swap64(x) NXSwapLongLong(x) + +EOF], + [ + if test $ac_cv_c_bigendian = yes; then + cat >> "$1" << EOF +/* No other byte swapping functions are available on this big-endian system */ +#define swap16(x) ((uint16_t)(((x) << 8) | ((uint16_t)(x) >> 8))) +#define swap32(x) ((uint32_t)(((uint32_t)(x) << 24) & 0xff000000UL | \\ + ((uint32_t)(x) << 8) & 0x00ff0000UL | \\ + ((x) >> 8) & 0x0000ff00UL | \\ + ((x) >> 24) & 0x000000ffUL)) +#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ + ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ + ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ + ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ + ((x) >> 8) & 0x00000000ff000000ULL | \\ + ((x) >> 24) & 0x0000000000ff0000ULL | \\ + ((x) >> 40) & 0x000000000000ff00ULL | \\ + ((x) >> 56) & 0x00000000000000ffULL)) + +EOF + else + cat >> "$1" << EOF +/* Use these as generic byteswapping macros on this little endian system */ +#define swap16(x) ntohs(x) +#define swap32(x) ntohl(x) +/* No optimized 64 bit byte swapping macro is available */ +#define swap64(x) ((uint64_t)(((uint64_t)(x) << 56) & 0xff00000000000000ULL | \\ + ((uint64_t)(x) << 40) & 0x00ff000000000000ULL | \\ + ((uint64_t)(x) << 24) & 0x0000ff0000000000ULL | \\ + ((uint64_t)(x) << 8) & 0x000000ff00000000ULL | \\ + ((x) >> 8) & 0x00000000ff000000ULL | \\ + ((x) >> 24) & 0x0000000000ff0000ULL | \\ + ((x) >> 40) & 0x000000000000ff00ULL | \\ + ((x) >> 56) & 0x00000000000000ffULL)) + +EOF + fi +]) + ]) + ]) + ]) +]) + + +[ +if test "$HAVE_LE32TOH" != "1"; then + cat >> "$1" << EOF +/* The byte swapping macros have the form: */ +/* EENN[a]toh or htoEENN[a] where EE is be (big endian) or */ +/* le (little-endian), NN is 16 or 32 (number of bits) and a, */ +/* if present, indicates that the endian side is a pointer to an */ +/* array of uint8_t bytes instead of an integer of the specified length. */ +/* h refers to the host's ordering method. */ + +/* So, to convert a 32-bit integer stored in a buffer in little-endian */ +/* format into a uint32_t usable on this machine, you could use: */ +/* uint32_t value = le32atoh(&buf[3]); */ +/* To put that value back into the buffer, you could use: */ +/* htole32a(&buf[3], value); */ + +/* Define aliases for the standard byte swapping macros */ +/* Arguments to these macros must be properly aligned on natural word */ +/* boundaries in order to work properly on all architectures */ +#define htobe16(x) htons(x) +#define htobe32(x) htonl(x) +#define be16toh(x) ntohs(x) +#define be32toh(x) ntohl(x) + +#define HTOBE16(x) (x) = htobe16(x) +#define HTOBE32(x) (x) = htobe32(x) +#define BE32TOH(x) (x) = be32toh(x) +#define BE16TOH(x) (x) = be16toh(x) + +EOF + + if test $ac_cv_c_bigendian = yes; then + cat >> "$1" << EOF +/* Define our own extended byte swapping macros for big-endian machines */ +#define htole16(x) swap16(x) +#define htole32(x) swap32(x) +#define le16toh(x) swap16(x) +#define le32toh(x) swap32(x) + +#define htobe64(x) (x) +#define be64toh(x) (x) + +#define HTOLE16(x) (x) = htole16(x) +#define HTOLE32(x) (x) = htole32(x) +#define LE16TOH(x) (x) = le16toh(x) +#define LE32TOH(x) (x) = le32toh(x) + +#define HTOBE64(x) (void) (x) +#define BE64TOH(x) (void) (x) + +EOF + else + cat >> "$1" << EOF +/* On little endian machines, these macros are null */ +#define htole16(x) (x) +#define htole32(x) (x) +#define htole64(x) (x) +#define le16toh(x) (x) +#define le32toh(x) (x) +#define le64toh(x) (x) + +#define HTOLE16(x) (void) (x) +#define HTOLE32(x) (void) (x) +#define HTOLE64(x) (void) (x) +#define LE16TOH(x) (void) (x) +#define LE32TOH(x) (void) (x) +#define LE64TOH(x) (void) (x) + +/* These don't have standard aliases */ +#define htobe64(x) swap64(x) +#define be64toh(x) swap64(x) + +#define HTOBE64(x) (x) = htobe64(x) +#define BE64TOH(x) (x) = be64toh(x) + +EOF + fi +fi + +cat >> "$1" << EOF +/* Define the C99 standard length-specific integer types */ +#include <_stdint.h> + +EOF + +case "${effective_target}" in + i[3456]86-*) + cat >> "$1" << EOF +/* Here are some macros to create integers from a byte array */ +/* These are used to get and put integers from/into a uint8_t array */ +/* with a specific endianness. This is the most portable way to generate */ +/* and read messages to a network or serial device. Each member of a */ +/* packet structure must be handled separately. */ + +/* The i386 and compatibles can handle unaligned memory access, */ +/* so use the optimized macros above to do this job */ +#define be16atoh(x) be16toh(*(uint16_t*)(x)) +#define be32atoh(x) be32toh(*(uint32_t*)(x)) +#define be64atoh(x) be64toh(*(uint64_t*)(x)) +#define le16atoh(x) le16toh(*(uint16_t*)(x)) +#define le32atoh(x) le32toh(*(uint32_t*)(x)) +#define le64atoh(x) le64toh(*(uint64_t*)(x)) + +#define htobe16a(a,x) *(uint16_t*)(a) = htobe16(x) +#define htobe32a(a,x) *(uint32_t*)(a) = htobe32(x) +#define htobe64a(a,x) *(uint64_t*)(a) = htobe64(x) +#define htole16a(a,x) *(uint16_t*)(a) = htole16(x) +#define htole32a(a,x) *(uint32_t*)(a) = htole32(x) +#define htole64a(a,x) *(uint64_t*)(a) = htole64(x) + +EOF + ;; + + *) + cat >> "$1" << EOF +/* Here are some macros to create integers from a byte array */ +/* These are used to get and put integers from/into a uint8_t array */ +/* with a specific endianness. This is the most portable way to generate */ +/* and read messages to a network or serial device. Each member of a */ +/* packet structure must be handled separately. */ + +/* Non-optimized but portable macros */ +#define be16atoh(x) ((uint16_t)(((x)[0]<<8)|(x)[1])) +#define be32atoh(x) ((uint32_t)(((x)[0]<<24)|((x)[1]<<16)|((x)[2]<<8)|(x)[3])) +#define be64atoh(x) ((uint64_t)(((x)[0]<<56)|((x)[1]<<48)|((x)[2]<<40)| \\ + ((x)[3]<<32)|((x)[4]<<24)|((x)[5]<<16)|((x)[6]<<8)|(x)[7])) +#define le16atoh(x) ((uint16_t)(((x)[1]<<8)|(x)[0])) +#define le32atoh(x) ((uint32_t)(((x)[3]<<24)|((x)[2]<<16)|((x)[1]<<8)|(x)[0])) +#define le64atoh(x) ((uint64_t)(((x)[7]<<56)|((x)[6]<<48)|((x)[5]<<40)| \\ + ((x)[4]<<32)|((x)[3]<<24)|((x)[2]<<16)|((x)[1]<<8)|(x)[0])) + +#define htobe16a(a,x) (a)[0]=(uint8_t)((x)>>8), (a)[1]=(uint8_t)(x) +#define htobe32a(a,x) (a)[0]=(uint8_t)((x)>>24), (a)[1]=(uint8_t)((x)>>16), \\ + (a)[2]=(uint8_t)((x)>>8), (a)[3]=(uint8_t)(x) +#define htobe64a(a,x) (a)[0]=(uint8_t)((x)>>56), (a)[1]=(uint8_t)((x)>>48), \\ + (a)[2]=(uint8_t)((x)>>40), (a)[3]=(uint8_t)((x)>>32), \\ + (a)[4]=(uint8_t)((x)>>24), (a)[5]=(uint8_t)((x)>>16), \\ + (a)[6]=(uint8_t)((x)>>8), (a)[7]=(uint8_t)(x) +#define htole16a(a,x) (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) +#define htole32a(a,x) (a)[3]=(uint8_t)((x)>>24), (a)[2]=(uint8_t)((x)>>16), \\ + (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) +#define htole64a(a,x) (a)[7]=(uint8_t)((x)>>56), (a)[6]=(uint8_t)((x)>>48), \\ + (a)[5]=(uint8_t)((x)>>40), (a)[4]=(uint8_t)((x)>>32), \\ + (a)[3]=(uint8_t)((x)>>24), (a)[2]=(uint8_t)((x)>>16), \\ + (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x) + +EOF + ;; +esac +] + +cat >> "$1" << EOF +#endif /*__BYTEORDER_H*/ +EOF]) diff --git a/recipes/sane/sane-backends-1.0.20/saned.xinetd b/recipes/sane/sane-backends-1.0.20/saned.xinetd new file mode 100644 index 0000000000..f4e890fdbe --- /dev/null +++ b/recipes/sane/sane-backends-1.0.20/saned.xinetd @@ -0,0 +1,10 @@ +service sane-port +{ + socket_type = stream + server = /usr/sbin/saned + protocol = tcp + user = nobody + group = nogroup + wait = no + disable = no +} diff --git a/recipes/sane/sane-backends-1.0.20/stdint.m4 b/recipes/sane/sane-backends-1.0.20/stdint.m4 new file mode 100644 index 0000000000..f95b28c773 --- /dev/null +++ b/recipes/sane/sane-backends-1.0.20/stdint.m4 @@ -0,0 +1,734 @@ +dnl AC_NEED_STDINT_H ( HEADER-TO-GENERATE ) +dnl Copyright 2001-2002 by Dan Fandrich <dan@coneharvesters.com> +dnl This file may be copied and used freely without restrictions. No warranty +dnl is expressed or implied. +dnl +dnl Look for a header file that defines size-specific integer types like the +dnl ones recommended to be in stdint.h in the C99 standard (e.g. uint32_t). +dnl This is a dumbed-down version of the macro of the same name in the file +dnl ac_need_stdint_h.m4 which is part of the ac-archive, available at +dnl <URL:http://ac-archive.sourceforge.net/> (also, another macro +dnl AC_CREATE_STDINT_H by the same author). This version is not as smart, +dnl but works on older autoconf versions and has a different license. + +dnl AX_CHECK_DEFINED_TYPE ( TYPE, FILE, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND ) +dnl This is similar to _AC_CHECK_TYPE_NEW (a.k.a. new syntax version of +dnl AC_CHECK_TYPE) in autoconf 2.50 but works on older versions +AC_DEFUN([AX_CHECK_DEFINED_TYPE], +[AC_MSG_CHECKING([for $1 in $2]) +AC_EGREP_CPP(changequote(<<,>>)dnl +<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl +changequote([,]), [#include <$2>], +ac_cv_type_$1=yes, ac_cv_type_$1=no)dnl +AC_MSG_RESULT($ac_cv_type_$1) +if test $ac_cv_type_$1 = yes; then + $3 +else + $4 +fi +]) + +dnl Look for a header file that defines size-specific integer types +AC_DEFUN([AX_NEED_STDINT_H], +[ +changequote(, )dnl +ac_dir=`echo "$1"|sed 's%/[^/][^/]*$%%'` +changequote([, ])dnl +if test "$ac_dir" != "$1" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" +fi + +AX_CHECK_DEFINED_TYPE(uint8_t, +stdint.h, +[ +cat > "$1" <<EOF +/* This file is generated automatically by configure */ +#include <stdint.h> +EOF], +[AX_CHECK_DEFINED_TYPE(uint8_t, +inttypes.h, +[cat > "$1" <<EOF +/* This file is generated automatically by configure */ +#include <inttypes.h> +EOF], +[AX_CHECK_DEFINED_TYPE(uint8_t, +sys/types.h, +[cat > "$1" <<EOF +/* This file is generated automatically by configure */ +#include <sys/types.h> +EOF], +[AX_CHECK_DEFINED_TYPE(u_int8_t, +sys/types.h, +[cat > "$1" <<EOF +/* This file is generated automatically by configure */ +#ifndef __STDINT_H +#define __STDINT_H +#include <sys/types.h> +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; +EOF + +AX_CHECK_DEFINED_TYPE(u_int64_t, +sys/types.h, +[cat >> "$1" <<EOF +typedef u_int64_t uint64_t; +#endif /*!__STDINT_H*/ +EOF], +[cat >> "$1" <<EOF +/* 64-bit types are not available on this system */ +/* typedef u_int64_t uint64_t; */ +#endif /*!__STDINT_H*/ +EOF]) + +], +[AC_MSG_WARN([I can't find size-specific integer definitions on this system]) +if test -e "$1" ; then + rm -f "$1" +fi +])])])])dnl +]) + +AC_DEFUN([AX_CHECK_DATA_MODEL],[ + AC_CHECK_SIZEOF(char) + AC_CHECK_SIZEOF(short) + AC_CHECK_SIZEOF(int) + AC_CHECK_SIZEOF(long) + AC_CHECK_SIZEOF(void*) + ac_cv_char_data_model="" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp" + AC_MSG_CHECKING([data model]) + case "$ac_cv_char_data_model/$ac_cv_long_data_model" in + 122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;; + 122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;; + 122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;; + 124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;; + 124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;; + 124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;; + 124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;; + 128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;; + 128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;; + 222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;; + 333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;; + 444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;; + 666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;; + 888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;; + 222/*|333/*|444/*|666/*|888/*) : + ac_cv_data_model="iDSP" ; n="unusual dsptype" ;; + *) ac_cv_data_model="none" ; n="very unusual model" ;; + esac + AC_MSG_RESULT([$ac_cv_data_model ($ac_cv_long_data_model, $n)]) +]) + +dnl AX_CHECK_HEADER_STDINT_X([HEADERLIST][,ACTION-IF]) +AC_DEFUN([AX_CHECK_HEADER_STDINT_X],[ +AC_CACHE_CHECK([for stdint uintptr_t], [ac_cv_header_stdint_x],[ + ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h) + AC_MSG_RESULT([(..)]) + for i in m4_ifval([$1],[$1],[stdint.h inttypes.h sys/inttypes.h]) ; do + unset ac_cv_type_uintptr_t + unset ac_cv_type_uint64_t + AC_CHECK_TYPE(uintptr_t,[ac_cv_header_stdint_x=$i],continue,[#include <$i>]) + AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>]) + m4_ifvaln([$1],[$1]) break + done + AC_MSG_CHECKING([for stdint uintptr_t]) + ]) +]) + +AC_DEFUN([AX_CHECK_HEADER_STDINT_O],[ +AC_CACHE_CHECK([for stdint uint32_t], [ac_cv_header_stdint_o],[ + ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h) + AC_MSG_RESULT([(..)]) + for i in m4_ifval([$1],[$1],[inttypes.h sys/inttypes.h stdint.h]) ; do + unset ac_cv_type_uint32_t + unset ac_cv_type_uint64_t + AC_CHECK_TYPE(uint32_t,[ac_cv_header_stdint_o=$i],continue,[#include <$i>]) + AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>]) + m4_ifvaln([$1],[$1]) break + break; + done + AC_MSG_CHECKING([for stdint uint32_t]) + ]) +]) + +AC_DEFUN([AX_CHECK_HEADER_STDINT_U],[ +AC_CACHE_CHECK([for stdint u_int32_t], [ac_cv_header_stdint_u],[ + ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h) + AC_MSG_RESULT([(..)]) + for i in m4_ifval([$1],[$1],[sys/types.h inttypes.h sys/inttypes.h]) ; do + unset ac_cv_type_u_int32_t + unset ac_cv_type_u_int64_t + AC_CHECK_TYPE(u_int32_t,[ac_cv_header_stdint_u=$i],continue,[#include <$i>]) + AC_CHECK_TYPE(u_int64_t,[and64="/u_int64_t"],[and64=""],[#include<$i>]) + m4_ifvaln([$1],[$1]) break + break; + done + AC_MSG_CHECKING([for stdint u_int32_t]) + ]) +]) + +AC_DEFUN([AX_CREATE_STDINT_H], +[# ------ AX CREATE STDINT H ------------------------------------- +AC_MSG_CHECKING([for stdint types]) +ac_stdint_h=`echo ifelse($1, , _stdint.h, $1)` +# try to shortcircuit - if the default include path of the compiler +# can find a "stdint.h" header then we assume that all compilers can. +AC_CACHE_VAL([ac_cv_header_stdint_t],[ +old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS="" +old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS="" +old_CFLAGS="$CFLAGS" ; CFLAGS="" +AC_TRY_COMPILE([#include <stdint.h>],[int_least32_t v = 0;], +[ac_cv_stdint_result="(assuming C99 compatible system)" + ac_cv_header_stdint_t="stdint.h"; ], +[ac_cv_header_stdint_t=""]) +CXXFLAGS="$old_CXXFLAGS" +CPPFLAGS="$old_CPPFLAGS" +CFLAGS="$old_CFLAGS" ]) + +v="... $ac_cv_header_stdint_h" +if test "$ac_stdint_h" = "stdint.h" ; then + AC_MSG_RESULT([(are you sure you want them in ./stdint.h?)]) +elif test "$ac_stdint_h" = "inttypes.h" ; then + AC_MSG_RESULT([(are you sure you want them in ./inttypes.h?)]) +elif test "_$ac_cv_header_stdint_t" = "_" ; then + AC_MSG_RESULT([(putting them into $ac_stdint_h)$v]) +else + ac_cv_header_stdint="$ac_cv_header_stdint_t" + AC_MSG_RESULT([$ac_cv_header_stdint (shortcircuit)]) +fi + +if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit.. + +dnl .....intro message done, now do a few system checks..... +dnl btw, all old CHECK_TYPE macros do automatically "DEFINE" a type, +dnl therefore we use the autoconf implementation detail CHECK_TYPE_NEW +dnl instead that is triggered with 3 or more arguments (see types.m4) + +inttype_headers=`echo $2 | sed -e 's/,/ /g'` + +ac_cv_stdint_result="(no helpful system typedefs seen)" +AX_CHECK_HEADER_STDINT_X(dnl + stdint.h inttypes.h sys/inttypes.h $inttype_headers, + ac_cv_stdint_result="(seen uintptr_t$and64 in $i)") + +if test "_$ac_cv_header_stdint_x" = "_" ; then +AX_CHECK_HEADER_STDINT_O(dnl, + inttypes.h sys/inttypes.h stdint.h $inttype_headers, + ac_cv_stdint_result="(seen uint32_t$and64 in $i)") +fi + +if test "_$ac_cv_header_stdint_x" = "_" ; then +if test "_$ac_cv_header_stdint_o" = "_" ; then +AX_CHECK_HEADER_STDINT_U(dnl, + sys/types.h inttypes.h sys/inttypes.h $inttype_headers, + ac_cv_stdint_result="(seen u_int32_t$and64 in $i)") +fi fi + +dnl if there was no good C99 header file, do some typedef checks... +if test "_$ac_cv_header_stdint_x" = "_" ; then + AC_MSG_CHECKING([for stdint datatype model]) + AC_MSG_RESULT([(..)]) + AX_CHECK_DATA_MODEL +fi + +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_x" +elif test "_$ac_cv_header_stdint_o" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_o" +elif test "_$ac_cv_header_stdint_u" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_u" +else + ac_cv_header_stdint="stddef.h" +fi + +AC_MSG_CHECKING([for extra inttypes in chosen header]) +AC_MSG_RESULT([($ac_cv_header_stdint)]) +dnl see if int_least and int_fast types are present in _this_ header. +unset ac_cv_type_int_least32_t +unset ac_cv_type_int_fast32_t +AC_CHECK_TYPE(int_least32_t,,,[#include <$ac_cv_header_stdint>]) +AC_CHECK_TYPE(int_fast32_t,,,[#include<$ac_cv_header_stdint>]) +AC_CHECK_TYPE(intmax_t,,,[#include <$ac_cv_header_stdint>]) + +fi # shortcircut to system "stdint.h" +# ------------------ PREPARE VARIABLES ------------------------------ +if test "$GCC" = "yes" ; then +ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1` +else +ac_cv_stdint_message="using $CC" +fi + +AC_MSG_RESULT([make use of $ac_cv_header_stdint in $ac_stdint_h dnl +$ac_cv_stdint_result]) + +dnl ----------------------------------------------------------------- +# ----------------- DONE inttypes.h checks START header ------------- +AC_CONFIG_COMMANDS([$ac_stdint_h],[ +AC_MSG_NOTICE(creating $ac_stdint_h : $_ac_stdint_h) +ac_stdint=$tmp/_stdint.h + +echo "#ifndef" $_ac_stdint_h >$ac_stdint +echo "#define" $_ac_stdint_h "1" >>$ac_stdint +echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint +echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint +echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint +if test "_$ac_cv_header_stdint_t" != "_" ; then +echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint +echo "#include <stdint.h>" >>$ac_stdint +echo "#endif" >>$ac_stdint +echo "#endif" >>$ac_stdint +else + +cat >>$ac_stdint <<STDINT_EOF + +/* ................... shortcircuit part ........................... */ + +#if defined HAVE_STDINT_H || defined _STDINT_HAVE_STDINT_H +#include <stdint.h> +#else +#include <stddef.h> + +/* .................... configured part ............................ */ + +STDINT_EOF + +echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_header="$ac_cv_header_stdint_x" + echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint +fi + +echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_o" != "_" ; then + ac_header="$ac_cv_header_stdint_o" + echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint +fi + +echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint +if test "_$ac_cv_header_stdint_u" != "_" ; then + ac_header="$ac_cv_header_stdint_u" + echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint +fi + +echo "" >>$ac_stdint + +if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then + echo "#include <$ac_header>" >>$ac_stdint + echo "" >>$ac_stdint +fi fi + +echo "/* which 64bit typedef has been found */" >>$ac_stdint +if test "$ac_cv_type_uint64_t" = "yes" ; then +echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint +fi +if test "$ac_cv_type_u_int64_t" = "yes" ; then +echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint + +echo "/* which type model has been detected */" >>$ac_stdint +if test "_$ac_cv_char_data_model" != "_" ; then +echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint +echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint +else +echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint +echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint +fi +echo "" >>$ac_stdint + +echo "/* whether int_least types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_least32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint +fi +echo "/* whether int_fast types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_fast32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint +fi +echo "/* whether intmax_t type was detected */" >>$ac_stdint +if test "$ac_cv_type_intmax_t" = "yes"; then +echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint + + cat >>$ac_stdint <<STDINT_EOF +/* .................... detections part ............................ */ + +/* whether we need to define bitspecific types from compiler base types */ +#ifndef _STDINT_HEADER_INTPTR +#ifndef _STDINT_HEADER_UINT32 +#ifndef _STDINT_HEADER_U_INT32 +#define _STDINT_NEED_INT_MODEL_T +#else +#define _STDINT_HAVE_U_INT_TYPES +#endif +#endif +#endif + +#ifdef _STDINT_HAVE_U_INT_TYPES +#undef _STDINT_NEED_INT_MODEL_T +#endif + +#ifdef _STDINT_CHAR_MODEL +#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124 +#ifndef _STDINT_BYTE_MODEL +#define _STDINT_BYTE_MODEL 12 +#endif +#endif +#endif + +#ifndef _STDINT_HAVE_INT_LEAST32_T +#define _STDINT_NEED_INT_LEAST_T +#endif + +#ifndef _STDINT_HAVE_INT_FAST32_T +#define _STDINT_NEED_INT_FAST_T +#endif + +#ifndef _STDINT_HEADER_INTPTR +#define _STDINT_NEED_INTPTR_T +#ifndef _STDINT_HAVE_INTMAX_T +#define _STDINT_NEED_INTMAX_T +#endif +#endif + + +/* .................... definition part ............................ */ + +/* some system headers have good uint64_t */ +#ifndef _HAVE_UINT64_T +#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T +#define _HAVE_UINT64_T +#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T +#define _HAVE_UINT64_T +typedef u_int64_t uint64_t; +#endif +#endif + +#ifndef _HAVE_UINT64_T +/* .. here are some common heuristics using compiler runtime specifics */ +#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; + +#elif !defined __STRICT_ANSI__ +#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ +#define _HAVE_UINT64_T +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; + +#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ +/* note: all ELF-systems seem to have loff-support which needs 64-bit */ +#if !defined _NO_LONGLONG +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; +#endif + +#elif defined __alpha || (defined __mips && defined _ABIN32) +#if !defined _NO_LONGLONG +typedef long int64_t; +typedef unsigned long uint64_t; +#endif + /* compiler/cpu type to define int64_t */ +#endif +#endif +#endif + +#if defined _STDINT_HAVE_U_INT_TYPES +/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; + +/* glibc compatibility */ +#ifndef __int8_t_defined +#define __int8_t_defined +#endif +#endif + +#ifdef _STDINT_NEED_INT_MODEL_T +/* we must guess all the basic types. Apart from byte-adressable system, */ +/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ +/* (btw, those nibble-addressable systems are way off, or so we assume) */ + +dnl /* have a look at "64bit and data size neutrality" at */ +dnl /* http://unix.org/version2/whatsnew/login_64bit.html */ +dnl /* (the shorthand "ILP" types always have a "P" part) */ + +#if defined _STDINT_BYTE_MODEL +#if _STDINT_LONG_MODEL+0 == 242 +/* 2:4:2 = IP16 = a normal 16-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef long int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 +/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ +/* 4:4:4 = ILP32 = a normal 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 +/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ +/* 4:8:8 = LP64 = a normal 64-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* this system has a "long" of 64bit */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +typedef unsigned long uint64_t; +typedef long int64_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 448 +/* LLP64 a 64-bit system derived from a 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* assuming the system has a "long long" */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef unsigned long long uint64_t; +typedef long long int64_t; +#endif +#else +#define _STDINT_NO_INT32_T +#endif +#else +#define _STDINT_NO_INT8_T +#define _STDINT_NO_INT32_T +#endif +#endif + +/* + * quote from SunOS-5.8 sys/inttypes.h: + * Use at your own risk. As of February 1996, the committee is squarely + * behind the fixed sized types; the "least" and "fast" types are still being + * discussed. The probability that the "fast" types may be removed before + * the standard is finalized is high enough that they are not currently + * implemented. + */ + +#if defined _STDINT_NEED_INT_LEAST_T +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_least64_t; +#endif + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_least64_t; +#endif + /* least types */ +#endif + +#if defined _STDINT_NEED_INT_FAST_T +typedef int8_t int_fast8_t; +typedef int int_fast16_t; +typedef int32_t int_fast32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_fast64_t; +#endif + +typedef uint8_t uint_fast8_t; +typedef unsigned uint_fast16_t; +typedef uint32_t uint_fast32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_fast64_t; +#endif + /* fast types */ +#endif + +#ifdef _STDINT_NEED_INTMAX_T +#ifdef _HAVE_UINT64_T +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; +#else +typedef long intmax_t; +typedef unsigned long uintmax_t; +#endif +#endif + +#ifdef _STDINT_NEED_INTPTR_T +#ifndef __intptr_t_defined +#define __intptr_t_defined +/* we encourage using "long" to store pointer values, never use "int" ! */ +#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 +typedef unsinged int uintptr_t; +typedef int intptr_t; +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 +typedef unsigned long uintptr_t; +typedef long intptr_t; +#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T +typedef uint64_t uintptr_t; +typedef int64_t intptr_t; +#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ +typedef unsigned long uintptr_t; +typedef long intptr_t; +#endif +#endif +#endif + +/* The ISO C99 standard specifies that in C++ implementations these + should only be defined if explicitly requested. */ +#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS +#ifndef UINT32_C + +/* Signed. */ +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c +# ifdef _HAVE_LONGLONG_UINT64_T +# define INT64_C(c) c ## L +# else +# define INT64_C(c) c ## LL +# endif + +/* Unsigned. */ +# define UINT8_C(c) c ## U +# define UINT16_C(c) c ## U +# define UINT32_C(c) c ## U +# ifdef _HAVE_LONGLONG_UINT64_T +# define UINT64_C(c) c ## UL +# else +# define UINT64_C(c) c ## ULL +# endif + +/* Maximal type. */ +# ifdef _HAVE_LONGLONG_UINT64_T +# define INTMAX_C(c) c ## L +# define UINTMAX_C(c) c ## UL +# else +# define INTMAX_C(c) c ## LL +# define UINTMAX_C(c) c ## ULL +# endif + + /* literalnumbers */ +#endif +#endif + +/* These limits are merily those of a two complement byte-oriented system */ + +/* Minimum of signed integral types. */ +# define INT8_MIN (-128) +# define INT16_MIN (-32767-1) +# define INT32_MIN (-2147483647-1) +# define INT64_MIN (-__INT64_C(9223372036854775807)-1) +/* Maximum of signed integral types. */ +# define INT8_MAX (127) +# define INT16_MAX (32767) +# define INT32_MAX (2147483647) +# define INT64_MAX (__INT64_C(9223372036854775807)) + +/* Maximum of unsigned integral types. */ +# define UINT8_MAX (255) +# define UINT16_MAX (65535) +# define UINT32_MAX (4294967295U) +# define UINT64_MAX (__UINT64_C(18446744073709551615)) + +/* Minimum of signed integral types having a minimum size. */ +# define INT_LEAST8_MIN INT8_MIN +# define INT_LEAST16_MIN INT16_MIN +# define INT_LEAST32_MIN INT32_MIN +# define INT_LEAST64_MIN INT64_MIN +/* Maximum of signed integral types having a minimum size. */ +# define INT_LEAST8_MAX INT8_MAX +# define INT_LEAST16_MAX INT16_MAX +# define INT_LEAST32_MAX INT32_MAX +# define INT_LEAST64_MAX INT64_MAX + +/* Maximum of unsigned integral types having a minimum size. */ +# define UINT_LEAST8_MAX UINT8_MAX +# define UINT_LEAST16_MAX UINT16_MAX +# define UINT_LEAST32_MAX UINT32_MAX +# define UINT_LEAST64_MAX UINT64_MAX + + /* shortcircuit*/ +#endif + /* once */ +#endif +#endif +STDINT_EOF +fi + if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then + AC_MSG_NOTICE([$ac_stdint_h is unchanged]) + else + ac_dir=`AS_DIRNAME(["$ac_stdint_h"])` + AS_MKDIR_P(["$ac_dir"]) + rm -f $ac_stdint_h + mv $ac_stdint $ac_stdint_h + fi +],[# variables for create stdint.h replacement +PACKAGE="$PACKAGE" +VERSION="$VERSION" +ac_stdint_h="$ac_stdint_h" +_ac_stdint_h=AS_TR_CPP(_$PACKAGE-$ac_stdint_h) +ac_cv_stdint_message="$ac_cv_stdint_message" +ac_cv_header_stdint_t="$ac_cv_header_stdint_t" +ac_cv_header_stdint_x="$ac_cv_header_stdint_x" +ac_cv_header_stdint_o="$ac_cv_header_stdint_o" +ac_cv_header_stdint_u="$ac_cv_header_stdint_u" +ac_cv_type_uint64_t="$ac_cv_type_uint64_t" +ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t" +ac_cv_char_data_model="$ac_cv_char_data_model" +ac_cv_long_data_model="$ac_cv_long_data_model" +ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t" +ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t" +ac_cv_type_intmax_t="$ac_cv_type_intmax_t" +]) +]) diff --git a/recipes/sane/sane-backends_1.0.19.bb b/recipes/sane/sane-backends_1.0.19.bb index 935541f25a..caf7f2f075 100644 --- a/recipes/sane/sane-backends_1.0.19.bb +++ b/recipes/sane/sane-backends_1.0.19.bb @@ -44,7 +44,7 @@ FILES_sane-utils = "${bindir}/*" FILES_${PN}-dbg += "${libdir}/sane/.debug" -CONFFILES_libsane = "${sysconfdir}/sane.d/abaton.conf ${sysconfdir}/sane.d/agfafocus.conf ${sysconfdir}/sane.d/apple.conf ${sysconfdir}/sane.d/artec.conf ${sysconfdir}/sane.d/avision.conf ${sysconfdir}/sane.d/bh.conf ${sysconfdir}/sane.d/canon.conf ${sysconfdir}/sane.d/canon630u.conf ${sysconfdir}/sane.d/coolscan.conf ${sysconfdir}/sane.d/coolscan2.conf ${sysconfdir}/sane.d/dc25.conf ${sysconfdir}/sane.d/dmc.conf ${sysconfdir}/sane.d/epson.conf ${sysconfdir}/sane.d/fujitsu.conf ${sysconfdir}/sane.d/gt68xx.conf ${sysconfdir}/sane.d/hp.conf ${sysconfdir}/sane.d/leo.conf ${sysconfdir}/sane.d/matsushita.conf ${sysconfdir}/sane.d/microtek.conf ${sysconfdir}/sane.d/microtek2.conf ${sysconfdir}/sane.d/mustek.conf ${sysconfdir}/sane.d/mustek_usb.conf ${sysconfdir}/sane.d/nec.conf ${sysconfdir}/sane.d/pie.conf ${sysconfdir}/sane.d/plustek.conf ${sysconfdir}/sane.d/plustek_pp.conf ${sysconfdir}/sane.d/ricoh.conf ${sysconfdir}/sane.d/s9036.conf ${sysconfdir}/sane.d/sceptre.conf ${sysconfdir}/sane.d/sharp.conf ${sysconfdir}/sane.d/sp15c.conf ${sysconfdir}/sane.d/st400.conf ${sysconfdir}/sane.d/tamarack.conf ${sysconfdir}/sane.d/test.conf ${sysconfdir}/sane.d/teco1.conf ${sysconfdir}/sane.d/teco2.conf ${sysconfdir}/sane.d/teco3.conf ${sysconfdir}/sane.d/umax.conf ${sysconfdir}/sane.d/umax_pp.conf ${sysconfdir}/sane.d/umax1220u.conf ${sysconfdir}/sane.d/artec_eplus48u.conf ${sysconfdir}/sane.d/ma1509.conf ${sysconfdir}/sane.d/ibm.conf ${sysconfdir}/sane.d/hp5400.conf ${sysconfdir}/sane.d/u12.conf ${sysconfdir}/sane.d/snapscan.conf ${sysconfdir}/sane.d/dc210.conf ${sysconfdir}/sane.d/dc240.conf ${sysconfdir}/sane.d/gphoto2.conf ${sysconfdir}/sane.d/qcam.conf ${sysconfdir}/sane.d/v4l.conf ${sysconfdir}/sane.d/net.conf ${sysconfdir}/sane.d/dll.conf ${sysconfdir}/sane.d/saned.conf" +CONFFILES_libsane = "${sysconfdir}/sane.d/abaton.conf ${sysconfdir}/sane.d/agfafocus.conf ${sysconfdir}/sane.d/apple.conf ${sysconfdir}/sane.d/artec.conf ${sysconfdir}/sane.d/avision.conf ${sysconfdir}/sane.d/bh.conf ${sysconfdir}/sane.d/canon.conf ${sysconfdir}/sane.d/canon630u.conf ${sysconfdir}/sane.d/coolscan.conf ${sysconfdir}/sane.d/coolscan2.conf ${sysconfdir}/sane.d/dc25.conf ${sysconfdir}/sane.d/dmc.conf ${sysconfdir}/sane.d/epson.conf ${sysconfdir}/sane.d/fujitsu.conf ${sysconfdir}/sane.d/gt68xx.conf ${sysconfdir}/sane.d/hp.conf ${sysconfdir}/sane.d/leo.conf ${sysconfdir}/sane.d/matsushita.conf ${sysconfdir}/sane.d/microtek.conf ${sysconfdir}/sane.d/microtek2.conf ${sysconfdir}/sane.d/mustek.conf ${sysconfdir}/sane.d/mustek_usb.conf ${sysconfdir}/sane.d/nec.conf ${sysconfdir}/sane.d/pie.conf ${sysconfdir}/sane.d/plustek.conf ${sysconfdir}/sane.d/plustek_pp.conf ${sysconfdir}/sane.d/ricoh.conf ${sysconfdir}/sane.d/s9036.conf ${sysconfdir}/sane.d/sceptre.conf ${sysconfdir}/sane.d/sharp.conf ${sysconfdir}/sane.d/sp15c.conf ${sysconfdir}/sane.d/st400.conf ${sysconfdir}/sane.d/tamarack.conf ${sysconfdir}/sane.d/test.conf ${sysconfdir}/sane.d/teco1.conf ${sysconfdir}/sane.d/teco2.conf ${sysconfdir}/sane.d/teco3.conf ${sysconfdir}/sane.d/umax.conf ${sysconfdir}/sane.d/umax_pp.conf ${sysconfdir}/sane.d/umax1220u.conf ${sysconfdir}/sane.d/artec_eplus48u.conf ${sysconfdir}/sane.d/ma1509.conf ${sysconfdir}/sane.d/ibm.conf ${sysconfdir}/sane.d/hp5400.conf ${sysconfdir}/sane.d/u12.conf ${sysconfdir}/sane.d/snapscan.conf ${sysconfdir}/sane.d/dc210.conf ${sysconfdir}/sane.d/dc240.conf ${sysconfdir}/sane.d/gphoto2.conf ${sysconfdir}/sane.d/v4l.conf ${sysconfdir}/sane.d/net.conf ${sysconfdir}/sane.d/dll.conf ${sysconfdir}/sane.d/saned.conf" do_stage() { autotools_stage_all diff --git a/recipes/sane/sane-backends_1.0.20.bb b/recipes/sane/sane-backends_1.0.20.bb new file mode 100644 index 0000000000..5035ad471e --- /dev/null +++ b/recipes/sane/sane-backends_1.0.20.bb @@ -0,0 +1,53 @@ +DESCRIPTION = "Scanner drivers for SANE" +DEPENDS = "hal gphoto2 jpeg virtual/libusb0" +LICENSE = "LGPL" + +SRC_URI = "http://alioth.debian.org/frs/download.php/3026/sane-backends-${PV}.tar.gz \ + file://Makefile.in.patch;patch=1 \ + file://saned.xinetd \ + file://byteorder.m4 \ + file://stdint.m4 \ + " + +inherit autotools pkgconfig binconfig + +EXTRA_OECONF = "--disable-translations" + +do_configure_prepend() { + mkdir -p ${S}/m4 + cp ${STAGING_DATADIR}/aclocal/libtool.m4 ${S}/m4/ + cp ${WORKDIR}/*.m4 ${S}/m4/ +} + +PARALLEL_MAKE = "" +do_compile_prepend() { + ln -sf ${S}/${TARGET_PREFIX}libtool ${S}/libtool +} + +do_install_append() { + install -d "${D}/${sysconfdir}/xinetd.d" + install -m 755 "${S}/tools/.libs/sane-find-scanner" "${D}/${bindir}" + install -m 644 "${WORKDIR}/saned.xinetd" "${D}/${sysconfdir}/xinetd.d/saned" +} + +PACKAGES =+ "libsane libsane-dev saned sane-utils" + +FILES_libsane = "${libdir}/sane/*.so.* ${libdir}/lib*.so.* /etc" +RRECOMMENDS_libsane = "saned sane-utils" +FILES_libsane-dev += "${libdir}/sane/*" + +RRECOMMENDS_saned = "xinetd" +FILES_saned = "${sbindir}/saned" + +FILES_sane-utils = "${bindir}/*" +FILES_${PN}-dbg += "${libdir}/sane/.debug" + + +CONFFILES_libsane = "${sysconfdir}/sane.d/abaton.conf ${sysconfdir}/sane.d/agfafocus.conf ${sysconfdir}/sane.d/apple.conf ${sysconfdir}/sane.d/artec.conf ${sysconfdir}/sane.d/avision.conf ${sysconfdir}/sane.d/bh.conf ${sysconfdir}/sane.d/canon.conf ${sysconfdir}/sane.d/canon630u.conf ${sysconfdir}/sane.d/coolscan.conf ${sysconfdir}/sane.d/coolscan2.conf ${sysconfdir}/sane.d/dc25.conf ${sysconfdir}/sane.d/dmc.conf ${sysconfdir}/sane.d/epson.conf ${sysconfdir}/sane.d/fujitsu.conf ${sysconfdir}/sane.d/gt68xx.conf ${sysconfdir}/sane.d/hp.conf ${sysconfdir}/sane.d/leo.conf ${sysconfdir}/sane.d/matsushita.conf ${sysconfdir}/sane.d/microtek.conf ${sysconfdir}/sane.d/microtek2.conf ${sysconfdir}/sane.d/mustek.conf ${sysconfdir}/sane.d/mustek_usb.conf ${sysconfdir}/sane.d/nec.conf ${sysconfdir}/sane.d/pie.conf ${sysconfdir}/sane.d/plustek.conf ${sysconfdir}/sane.d/plustek_pp.conf ${sysconfdir}/sane.d/ricoh.conf ${sysconfdir}/sane.d/s9036.conf ${sysconfdir}/sane.d/sceptre.conf ${sysconfdir}/sane.d/sharp.conf ${sysconfdir}/sane.d/sp15c.conf ${sysconfdir}/sane.d/st400.conf ${sysconfdir}/sane.d/tamarack.conf ${sysconfdir}/sane.d/test.conf ${sysconfdir}/sane.d/teco1.conf ${sysconfdir}/sane.d/teco2.conf ${sysconfdir}/sane.d/teco3.conf ${sysconfdir}/sane.d/umax.conf ${sysconfdir}/sane.d/umax_pp.conf ${sysconfdir}/sane.d/umax1220u.conf ${sysconfdir}/sane.d/artec_eplus48u.conf ${sysconfdir}/sane.d/ma1509.conf ${sysconfdir}/sane.d/ibm.conf ${sysconfdir}/sane.d/hp5400.conf ${sysconfdir}/sane.d/u12.conf ${sysconfdir}/sane.d/snapscan.conf ${sysconfdir}/sane.d/dc210.conf ${sysconfdir}/sane.d/dc240.conf ${sysconfdir}/sane.d/gphoto2.conf ${sysconfdir}/sane.d/net.conf ${sysconfdir}/sane.d/dll.conf ${sysconfdir}/sane.d/saned.conf" + +do_stage() { + autotools_stage_all +} + + + diff --git a/recipes/shadow/files/login_defs_pam.sed b/recipes/shadow/files/login_defs_pam.sed new file mode 100644 index 0000000000..655f115870 --- /dev/null +++ b/recipes/shadow/files/login_defs_pam.sed @@ -0,0 +1,25 @@ +/^FAILLOG_ENAB/b comment +/^LASTLOG_ENAB/b comment +/^MAIL_CHECK_ENAB/b comment +/^OBSCURE_CHECKS_ENAB/b comment +/^PORTTIME_CHECKS_ENAB/b comment +/^QUOTAS_ENAB/b comment +/^MOTD_FILE/b comment +/^FTMP_FILE/b comment +/^NOLOGINS_FILE/b comment +/^ENV_HZ/b comment +/^PASS_MIN_LEN/b comment +/^SU_WHEEL_ONLY/b comment +/^CRACKLIB_DICTPATH/b comment +/^PASS_CHANGE_TRIES/b comment +/^PASS_ALWAYS_WARN/b comment +/^CHFN_AUTH/b comment +/^ENVIRON_FILE/b comment + +b exit + +: comment + s:^:#: + +: exit + diff --git a/recipes/shadow/files/pam.d/chfn b/recipes/shadow/files/pam.d/chfn new file mode 100644 index 0000000000..baf7698bba --- /dev/null +++ b/recipes/shadow/files/pam.d/chfn @@ -0,0 +1,14 @@ +# +# The PAM configuration file for the Shadow `chfn' service +# + +# This allows root to change user infomation without being +# prompted for a password +auth sufficient pam_rootok.so + +# The standard Unix authentication modules, used with +# NIS (man nsswitch) as well as normal /etc/passwd and +# /etc/shadow entries. +auth include common-auth +account include common-account +session include common-session diff --git a/recipes/shadow/files/pam.d/chpasswd b/recipes/shadow/files/pam.d/chpasswd new file mode 100644 index 0000000000..9e3efa68ba --- /dev/null +++ b/recipes/shadow/files/pam.d/chpasswd @@ -0,0 +1,4 @@ +# The PAM configuration file for the Shadow 'chpasswd' service +# + +password include common-password diff --git a/recipes/shadow/files/pam.d/chsh b/recipes/shadow/files/pam.d/chsh new file mode 100644 index 0000000000..8fb169f64e --- /dev/null +++ b/recipes/shadow/files/pam.d/chsh @@ -0,0 +1,19 @@ +# +# The PAM configuration file for the Shadow `chsh' service +# + +# This will not allow a user to change their shell unless +# their current one is listed in /etc/shells. This keeps +# accounts with special shells from changing them. +auth required pam_shells.so + +# This allows root to change user shell without being +# prompted for a password +auth sufficient pam_rootok.so + +# The standard Unix authentication modules, used with +# NIS (man nsswitch) as well as normal /etc/passwd and +# /etc/shadow entries. +auth include common-auth +account include common-account +session include common-session diff --git a/recipes/shadow/files/pam.d/login b/recipes/shadow/files/pam.d/login new file mode 100644 index 0000000000..2186d3eee9 --- /dev/null +++ b/recipes/shadow/files/pam.d/login @@ -0,0 +1,91 @@ +# +# The PAM configuration file for the Shadow `login' service +# + +# Enforce a minimal delay in case of failure (in microseconds). +# (Replaces the `FAIL_DELAY' setting from login.defs) +# Note that other modules may require another minimal delay. (for example, +# to disable any delay, you should add the nodelay option to pam_unix) +auth optional pam_faildelay.so delay=3000000 + +# Outputs an issue file prior to each login prompt (Replaces the +# ISSUE_FILE option from login.defs). Uncomment for use +# auth required pam_issue.so issue=/etc/issue + +# Disallows root logins except on tty's listed in /etc/securetty +# (Replaces the `CONSOLE' setting from login.defs) +# Note that it is included as a "requisite" module. No password prompts will +# be displayed if this module fails to avoid having the root password +# transmitted on unsecure ttys. +# You can change it to a "required" module if you think it permits to +# guess valid user names of your system (invalid user names are considered +# as possibly being root). +auth requisite pam_securetty.so + +# Disallows other than root logins when /etc/nologin exists +# (Replaces the `NOLOGINS_FILE' option from login.defs) +auth requisite pam_nologin.so + +# SELinux needs to be the first session rule. This ensures that any +# lingering context has been cleared. Without out this it is possible +# that a module could execute code in the wrong domain. +# When the module is present, "required" would be sufficient (When SELinux +# is disabled, this returns success.) +session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close + +# This module parses environment configuration file(s) +# and also allows you to use an extended config +# file /etc/security/pam_env.conf. +# +# parsing /etc/environment needs "readenv=1" +session required pam_env.so readenv=1 +# locale variables are also kept into /etc/default/locale in etch +# reading this file *in addition to /etc/environment* does not hurt +session required pam_env.so readenv=1 envfile=/etc/default/locale + +# Standard Un*x authentication. +@include common-auth + +# This allows certain extra groups to be granted to a user +# based on things like time of day, tty, service, and user. +# Please edit /etc/security/group.conf to fit your needs +# (Replaces the `CONSOLE_GROUPS' option in login.defs) +auth optional pam_group.so + +# Uncomment and edit /etc/security/time.conf if you need to set +# time restrainst on logins. +# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs +# as well as /etc/porttime) +# account requisite pam_time.so + +# Uncomment and edit /etc/security/access.conf if you need to +# set access limits. +# (Replaces /etc/login.access file) +# account required pam_access.so + +# Sets up user limits according to /etc/security/limits.conf +# (Replaces the use of /etc/limits in old login) +session required pam_limits.so + +# Prints the last login info upon succesful login +# (Replaces the `LASTLOG_ENAB' option from login.defs) +session optional pam_lastlog.so + +# Prints the motd upon succesful login +# (Replaces the `MOTD_FILE' option in login.defs) +session optional pam_motd.so + +# Prints the status of the user's mailbox upon succesful login +# (Replaces the `MAIL_CHECK_ENAB' option from login.defs). +# +# This also defines the MAIL environment variable +# However, userdel also needs MAIL_DIR and MAIL_FILE variables +# in /etc/login.defs to make sure that removing a user +# also removes the user's mail spool file. +# See comments in /etc/login.defs +session optional pam_mail.so standard + +# Standard Un*x account and session +account include common-account +password include common-password +session include common-session diff --git a/recipes/shadow/files/pam.d/newusers b/recipes/shadow/files/pam.d/newusers new file mode 100644 index 0000000000..4aa3dde48b --- /dev/null +++ b/recipes/shadow/files/pam.d/newusers @@ -0,0 +1,4 @@ +# The PAM configuration file for the Shadow 'newusers' service +# + +password include common-password diff --git a/recipes/shadow/files/pam.d/passwd b/recipes/shadow/files/pam.d/passwd new file mode 100644 index 0000000000..f534992435 --- /dev/null +++ b/recipes/shadow/files/pam.d/passwd @@ -0,0 +1,5 @@ +# +# The PAM configuration file for the Shadow `passwd' service +# + +password include common-password diff --git a/recipes/shadow/files/pam.d/su b/recipes/shadow/files/pam.d/su new file mode 100644 index 0000000000..8e35137f37 --- /dev/null +++ b/recipes/shadow/files/pam.d/su @@ -0,0 +1,60 @@ +# +# The PAM configuration file for the Shadow `su' service +# + +# This allows root to su without passwords (normal operation) +auth sufficient pam_rootok.so + +# Uncomment this to force users to be a member of group root +# before they can use `su'. You can also add "group=foo" +# to the end of this line if you want to use a group other +# than the default "root" (but this may have side effect of +# denying "root" user, unless she's a member of "foo" or explicitly +# permitted earlier by e.g. "sufficient pam_rootok.so"). +# (Replaces the `SU_WHEEL_ONLY' option from login.defs) +# auth required pam_wheel.so + +# Uncomment this if you want wheel members to be able to +# su without a password. +# auth sufficient pam_wheel.so trust + +# Uncomment this if you want members of a specific group to not +# be allowed to use su at all. +# auth required pam_wheel.so deny group=nosu + +# Uncomment and edit /etc/security/time.conf if you need to set +# time restrainst on su usage. +# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs +# as well as /etc/porttime) +# account requisite pam_time.so + +# This module parses environment configuration file(s) +# and also allows you to use an extended config +# file /etc/security/pam_env.conf. +# +# parsing /etc/environment needs "readenv=1" +session required pam_env.so readenv=1 +# locale variables are also kept into /etc/default/locale in etch +# reading this file *in addition to /etc/environment* does not hurt +session required pam_env.so readenv=1 envfile=/etc/default/locale + +# Defines the MAIL environment variable +# However, userdel also needs MAIL_DIR and MAIL_FILE variables +# in /etc/login.defs to make sure that removing a user +# also removes the user's mail spool file. +# See comments in /etc/login.defs +# +# "nopen" stands to avoid reporting new mail when su'ing to another user +session optional pam_mail.so nopen + +# Sets up user limits, please uncomment and read /etc/security/limits.conf +# to enable this functionality. +# (Replaces the use of /etc/limits in old login) +# session required pam_limits.so + +# The standard Unix authentication modules, used with +# NIS (man nsswitch) as well as normal /etc/passwd and +# /etc/shadow entries. +auth include common-auth +account include common-account +session include common-session diff --git a/recipes/shadow/shadow_4.1.4.2.bb b/recipes/shadow/shadow_4.1.4.2.bb new file mode 100644 index 0000000000..04887a01d1 --- /dev/null +++ b/recipes/shadow/shadow_4.1.4.2.bb @@ -0,0 +1,52 @@ +DESCRIPTION = "login/password and account utilities" +LICENSE = "GPL" + +DEPEND = "libpam" +RDEPEND = "${DEPEND}" + +PR = "r5" + +EXTRA_OECONF += " --enable-shared --enable-static --with-libpam --without-libcrack" + +inherit autotools + +HOMEPAGE = "http://pkg-shadow.alioth.debian.org/" +SRC_URI = "ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/shadow-${PV}.tar.bz2 \ + file://login_defs_pam.sed \ +" + +# Additional Policy files for PAM +SRC_URI_append = " \ + file://pam.d/chfn \ + file://pam.d/chpasswd \ + file://pam.d/chsh \ + file://pam.d/login \ + file://pam.d/newusers \ + file://pam.d/passwd \ + file://pam.d/su \ +" + +S = "${WORKDIR}/shadow-${PV}" + +CFLAGS_append = " -I../include" + +do_install_append() { + # Ensure that the image has as /var/spool/mail dir so shadow can put mailboxes there if the user + # reconfigures Shadow to default (see sed below). + install -d ${D}${localstatedir}/spool/mail/ + + install -d ${D}${sysconfdir}/pam.d/ + install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ + + # Remove defaults that are not used when supporting PAM + sed -i -f ${WORKDIR}/login_defs_pam.sed ${D}${sysconfdir}/login.defs + + # Enable CREATE_HOME by default. + sed -i 's/#CREATE_HOME/CREATE_HOME/g' ${D}${sysconfdir}/login.defs + + # As we are on an embedded system ensure the users mailbox is in ~/ not + # /var/spool/mail by default as who knows where or how big /var is. + # The system MDA will set this later anyway. + sed -i 's/MAIL_DIR/#MAIL_DIR/g' ${D}${sysconfdir}/login.defs + sed -i 's/#MAIL_FILE/MAIL_FILE/g' ${D}${sysconfdir}/login.defs +} diff --git a/recipes/sudo/files/sudo.pamd b/recipes/sudo/files/sudo.pamd new file mode 100644 index 0000000000..c22c794c21 --- /dev/null +++ b/recipes/sudo/files/sudo.pamd @@ -0,0 +1,7 @@ +#%PAM-1.0 + +auth include common-auth +account include common-account + +session required pam_permit.so +session required pam_limits.so diff --git a/recipes/sudo/sudo-enable-wheel-group.bb b/recipes/sudo/sudo-enable-wheel-group.bb new file mode 100644 index 0000000000..b281ddb09d --- /dev/null +++ b/recipes/sudo/sudo-enable-wheel-group.bb @@ -0,0 +1,20 @@ +PR = "r0" + +RDEPENDS = "sudo" + +ALLOW_EMPTY_${PN} = "1" +PACKAGE_ARCH = "all" + +# Edit sudoers to allow the use of the wheel group and non root users to mount/shutdown etc. +# Please consider this when using. + +pkg_postinst() { +#!/bin/sh +mkdir -p $D${sysconfdir}/ +touch $D${sysconfdir}/sudoers +sed -i /# %wheel/d $D${sysconfdir}/sudoers +echo '%wheel ALL=(ALL) ALL' >> $D${sysconfdir}/sudoers +sed -i /# %users/d $D${sysconfdir}/sudoers +echo '%users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom' >> $D${sysconfdir}/sudoers +echo '%users localhost=/sbin/shutdown -h now' >> $D${sysconfdir}/sudoers +} diff --git a/recipes/sudo/sudo.inc b/recipes/sudo/sudo.inc index 0dfb22ba8a..2bb0d72836 100644 --- a/recipes/sudo/sudo.inc +++ b/recipes/sudo/sudo.inc @@ -3,19 +3,30 @@ administrator to give certain users (or groups of \ users) the ability to run some (or all) commands \ as root while logging all commands and arguments." LICENSE = "sudo" -HOMEPAGE = "http://www.courtesan.com/sudo/" +HOMEPAGE = "http://www.sudo.ws/" PRIORITY = "optional" SECTION = "admin" inherit autotools -EXTRA_OECONF = "--with-editor=/bin/vi --with-env-editor" +EXTRA_OECONF += "--with-editor=/bin/vi --with-env-editor --with-all-insults " do_configure_prepend () { - rm -f acsite.m4 - if [ ! -e acinclude.m4 ]; then - cat aclocal.m4 > acinclude.m4 - fi + # Make sure the build does not get clever. + export sudo_cv_uid_t_len=10 + export sudo_cv_func_unsetenv_void=no + + # Prevent binaries from being stripped. + sed -i 's/\($(INSTALL).*\) -s \(.*[(sudo|visudo)]\)/\1 \2/g' Makefile.in + + rm -f acsite.m4 + if [ ! -e acinclude.m4 ]; then + cat aclocal.m4 > acinclude.m4 + fi +} + +do_configure() { + oe_runconf } pkg_postinst() { diff --git a/recipes/sudo/sudo_1.7.2p1.bb b/recipes/sudo/sudo_1.7.2p1.bb new file mode 100644 index 0000000000..bfa8afe650 --- /dev/null +++ b/recipes/sudo/sudo_1.7.2p1.bb @@ -0,0 +1,19 @@ +PR = "r3" + +DEPENDS = "libpam" +RDEPENDS = "libpam libpam-meta" + +SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \ + file://sudo.pamd \ +" + +EXTRA_OECONF += " --with-pam " + +require sudo.inc + +# Do in the recipe not the common inc as not all SUDO recipes want PAM support. + +do_install_append() { + install -d ${D}${sysconfdir}/pam.d/ + install -m 0644 ${WORKDIR}/sudo.pamd ${D}${sysconfdir}/pam.d/sudo +} diff --git a/recipes/tasks/task-shr-feed.bb b/recipes/tasks/task-shr-feed.bb index 39ba31d77d..f1be6ba000 100644 --- a/recipes/tasks/task-shr-feed.bb +++ b/recipes/tasks/task-shr-feed.bb @@ -243,4 +243,7 @@ RDEPENDS_${PN} += "\ mpg123 \ zile \ speex \ + fltkclock \ + fltkhackdiet \ + fltkwwpointcal \ " diff --git a/recipes/u-boot/u-boot-2009.03/hipox/00-hipox.patch b/recipes/u-boot/u-boot-2009.03/hipox/00-hipox.patch index 1433e90193..5b91d28da3 100644 --- a/recipes/u-boot/u-boot-2009.03/hipox/00-hipox.patch +++ b/recipes/u-boot/u-boot-2009.03/hipox/00-hipox.patch @@ -6348,7 +6348,7 @@ diff -Nurd u-boot-2009.03.orig/include/configs/hipox.h u-boot-2009.03/include/co + +#define CONFIG_CMD_DHCP +#define CONFIG_CMD_DIAG -+#define CONFIG_CMD_PING ++//#define CONFIG_CMD_PING + +/** + * Architecture @@ -6675,12 +6675,12 @@ diff -Nurd u-boot-2009.03.orig/include/configs/hipox.h u-boot-2009.03/include/co +#define MTDIDS_DEFAULT "nand0=MT29FXX" +#define MTDPARTS_DEFAULT "mtdparts=MT29FXX:" \ + "32m(boot)," \ -+ "224m(system)" ++ "480m(system)" + -+#define NUM_FLASH_MAIN_BLOCKS 63 /* For Intel 28F320B3T */ -+#define NUM_FLASH_PARAM_BLOCKS 8 /* For Intel 28F320B3T */ -+#define FLASH_MAIN_BLOCK_SIZE (64*1024) /* For Intel 28F320B3T family */ -+#define FLASH_PARAM_BLOCK_SIZE (8*1024) /* For Intel 28F320B3T family */ ++#define NUM_FLASH_MAIN_BLOCKS 31 /* For Atmel AT49BV163D */ ++#define NUM_FLASH_PARAM_BLOCKS 8 /* For Atmel AT49BV163D */ ++#define FLASH_MAIN_BLOCK_SIZE (64*1024) ++#define FLASH_PARAM_BLOCK_SIZE (8*1024) + +/* Assuming counts main blocks and parameter blocks, as the Intel/AMD detection */ +/* I'm intending to copy would seem to indicate */ diff --git a/recipes/u-boot/u-boot-2009.03/hipox/02-hipox-enable-mmu.patch b/recipes/u-boot/u-boot-2009.03/hipox/02-hipox-enable-mmu.patch index b7ddf27d27..e256c17fea 100644 --- a/recipes/u-boot/u-boot-2009.03/hipox/02-hipox-enable-mmu.patch +++ b/recipes/u-boot/u-boot-2009.03/hipox/02-hipox-enable-mmu.patch @@ -274,7 +274,7 @@ diff -Nurd u-boot-2009.03.orig/include/configs/hipox.h u-boot-2009.03/include/co @@ -34,6 +34,7 @@ #define CONFIG_CMD_DHCP #define CONFIG_CMD_DIAG - #define CONFIG_CMD_PING + //#define CONFIG_CMD_PING +#define CONFIG_CMD_CACHE /** diff --git a/recipes/uclibc/uclibc-0.9.30.1/installfix.patch b/recipes/uclibc/uclibc-0.9.30.1/installfix.patch new file mode 100644 index 0000000000..eab964de13 --- /dev/null +++ b/recipes/uclibc/uclibc-0.9.30.1/installfix.patch @@ -0,0 +1,33 @@ +Index: uClibc-0.9.30.1/Makefile.in +=================================================================== +--- uClibc-0.9.30.1.orig/Makefile.in 2009-11-20 22:51:12.544261346 +0100 ++++ uClibc-0.9.30.1/Makefile.in 2009-11-20 22:52:59.980922849 +0100 +@@ -369,7 +369,7 @@ + endif + + # Installs development library links. +-install_dev: install_headers all ++install_dev: install_headers install_runtime + $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib + -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/ + ifeq ($(HAVE_SHARED),y) +Index: uClibc-0.9.30.1/utils/Makefile.in +=================================================================== +--- uClibc-0.9.30.1.orig/utils/Makefile.in 2009-11-20 22:54:00.352165960 +0100 ++++ uClibc-0.9.30.1/utils/Makefile.in 2009-11-20 22:54:47.754245713 +0100 +@@ -89,12 +89,12 @@ + utils_install: utils + #$(Q)$(INSTALL) -D -m 755 $(utils_OUT)/readelf $(PREFIX)$(RUNTIME_PREFIX)usr/bin/readelf + ifeq ($(HAVE_SHARED),y) +- $(Q)$(INSTALL) -D -m 755 $(utils_OUT)/ldd $(PREFIX)$(RUNTIME_PREFIX)usr/bin/ldd ++ $(Q)$(INSTALL) -D -m 755 $(utils_OUT)/ldd $(PREFIX)$(RUNTIME_PREFIX)bin/ldd + $(Q)$(INSTALL) -D -m 755 $(utils_OUT)/ldconfig $(PREFIX)$(RUNTIME_PREFIX)sbin/ldconfig + endif + ifeq ($(UCLIBC_HAS_LOCALE),y) +- $(Q)$(INSTALL) -D -m 755 $(utils_OUT)/iconv $(PREFIX)$(RUNTIME_PREFIX)usr/bin/iconv +- $(Q)$(INSTALL) -m 755 $(utils_OUT)/locale $(PREFIX)$(RUNTIME_PREFIX)usr/bin/locale ++ $(Q)$(INSTALL) -D -m 755 $(utils_OUT)/iconv $(PREFIX)$(RUNTIME_PREFIX)bin/iconv ++ $(Q)$(INSTALL) -m 755 $(utils_OUT)/locale $(PREFIX)$(RUNTIME_PREFIX)bin/locale + endif + + objclean-y += utils_clean diff --git a/recipes/uclibc/uclibc-initial_0.9.30.1.bb b/recipes/uclibc/uclibc-initial_0.9.30.1.bb index 46c0f66697..d0491fcc67 100644 --- a/recipes/uclibc/uclibc-initial_0.9.30.1.bb +++ b/recipes/uclibc/uclibc-initial_0.9.30.1.bb @@ -5,27 +5,22 @@ DEPENDS = "linux-libc-headers ncurses-native virtual/${TARGET_PREFIX}gcc-initial PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" PACKAGES = "" -do_stage() { +do_install() { # Install initial headers into the cross dir - make V=1 CC="${CC}" PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ - RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + make V=1 CC="${CC}" PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \ install_headers - ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include + #ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include # This conflicts with the c++ version of this header - rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h - install -d ${UCLIBC_STAGE_PREFIX}/lib - install -m 644 lib/crt[1in].o ${UCLIBC_STAGE_PREFIX}/lib - install -m 644 lib/libc.so ${UCLIBC_STAGE_PREFIX}/lib -} - -do_install() { - : + rm -f ${D}${includedir}/bits/atomicity.h + install -d ${D}${libdir}/ + install -m 644 lib/crt[1in].o ${D}${libdir}/ + install -d ${D}${libdir}/ + install -m 644 lib/libc.so ${D}${libdir}/ } do_compile () { - make V=1 CC="${CC}" PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ - RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ + make V=1 CC="${CC}" PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \ lib/crt1.o lib/crti.o lib/crtn.o ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \ -o lib/libc.so diff --git a/recipes/uclibc/uclibc.inc b/recipes/uclibc/uclibc.inc index 08f0381a8f..ae9e18f8e3 100644 --- a/recipes/uclibc/uclibc.inc +++ b/recipes/uclibc/uclibc.inc @@ -73,7 +73,6 @@ SRC_URI = "${@['${UCLIBC_LOCALE_URI}', ''][bb.data.getVar('USE_NLS', d, 1) != 'y file://uClibc.config \ http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2 \ " -UCLIBC_STAGE_PREFIX = "${STAGING_DIR_HOST}${layout_prefix}" # do_stage barfs on a CC with whitepspace, therefore put the 'HOST_CC_ARCH' in # the CFLAGS (for when building the utils). @@ -92,6 +91,9 @@ KERNEL_HEADERS = "${STAGING_INCDIR}" # ARCH_WANTS_BIG_ENDIAN=y # ARCH_WANTS_LITTLE_ENDIAN is not set +# How to enable verbose logs: +#export VERBOSE="1" + configmangle = 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE="${KERNEL_SOURCE}",g; \ s,^KERNEL_HEADERS=.*,KERNEL_HEADERS="${KERNEL_HEADERS}",g; \ s,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX="/",g; \ @@ -156,58 +158,21 @@ do_configure() { yes '' | oe_runmake oldconfig } -do_stage() { - # This MUST be done first because we - # will install crt1.o in the install_dev stage and gcc needs it - - # Install into the staging dir - oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ - RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ - install_dev install_runtime - - # We don't really need this - rm -f ${UCLIBC_STAGE_PREFIX}/include/.cvsignore - - # Fixup shared lib symlinks - ( cd ${UCLIBC_STAGE_PREFIX}/lib - for f in c crypt dl m nsl pthread resolv thread_db util; do - ln -sf lib${f}.so.? lib${f}.so - done - ) - - # This conflicts with the c++ version of this header - rm -f ${UCLIBC_STAGE_PREFIX}/include/bits/atomicity.h -} - do_install() { - # Tis MUST be done first because we - # will install crt1.o in the install_dev stage and gcc needs it) - oe_runmake STRIPTOOL=true PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ - RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \ - install_dev install_runtime - - oe_runmake STRIPTOOL=true PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \ + oe_runmake PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \ install_dev install_runtime + # Need to overwrite the version from -initial + #if [ ! -e ${D}${libdir}/libc.so ]; then + # ln -s ../../lib/libc.so.0 ${D}${libdir}/libc.so + #fi + # We don't really need this in ${includedir} rm -f ${D}${prefix}/include/.cvsignore # This conflicts with the c++ version of this header rm -f ${D}${prefix}/include/bits/atomicity.h - # ugh.. uclibc doesn't like obeying our path variables. - if [ "${includedir}" != "${prefix}/include" ]; then - install -d ${D}${includedir} - mv ${D}${prefix}/include/* ${D}${includedir}/ - rmdir ${D}${prefix}/include - fi - - if [ "${libdir}" != "${prefix}/lib" ]; then - install -d ${D}${libdir} - mv ${D}${prefix}/lib/* ${D}${libdir}/ - rmdir ${D}${prefix}/lib - fi - oe_runmake "SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE}" utils oe_runmake STRIPTOOL=true PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \ install_utils @@ -215,11 +180,5 @@ do_install() { # oe_runstrip needs +x on files chmod +x ${D}/${base_libdir}/* fi - - if [ "${bindir}" != "/usr/bin" ]; then - install -d ${D}${bindir} - mv ${D}/usr/bin/* ${D}${bindir}/ - rmdir ${D}/usr/bin - fi } diff --git a/recipes/uclibc/uclibc_0.9.30.1.bb b/recipes/uclibc/uclibc_0.9.30.1.bb index 1f8162edfc..c32b2f1d82 100644 --- a/recipes/uclibc/uclibc_0.9.30.1.bb +++ b/recipes/uclibc/uclibc_0.9.30.1.bb @@ -9,7 +9,7 @@ UCLIBC_BASE ?= "0.9.30.1" require uclibc.inc -PR = "${INC_PR}.1" +PR = "${INC_PR}.3" PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc" @@ -22,6 +22,7 @@ SRC_URI += "file://uClibc.machine file://uClibc.distro \ file://gcc-4.4-fixlet.patch;patch=1 \ file://uclibc-c99-ldbl-math.patch;patch=1 \ file://Use-__always_inline-instead-of-__inline__.patch;patch=1 \ + file://installfix.patch;patch=1 \ " #recent versions uclibc require real kernel headers PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/recipes/xorg-lib/pixman/0001-ARM-NEON-optimized-pixman_blt.patch b/recipes/xorg-lib/pixman/0001-ARM-NEON-optimized-pixman_blt.patch new file mode 100644 index 0000000000..ed2b68d782 --- /dev/null +++ b/recipes/xorg-lib/pixman/0001-ARM-NEON-optimized-pixman_blt.patch @@ -0,0 +1,104 @@ +From e94b8057370a430eb91b914ed4c0050f72e9fa37 Mon Sep 17 00:00:00 2001 +From: Siarhei Siamashka <siarhei.siamashka@nokia.com> +Date: Wed, 18 Nov 2009 04:26:18 +0200 +Subject: [PATCH 1/6] ARM: NEON optimized pixman_blt + +--- + pixman/pixman-arm-neon.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 67 insertions(+), 0 deletions(-) + +diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c +index 2ed8b4b..495fda4 100644 +--- a/pixman/pixman-arm-neon.c ++++ b/pixman/pixman-arm-neon.c +@@ -292,6 +292,43 @@ pixman_fill_neon (uint32_t *bits, + } + } + ++static pixman_bool_t ++pixman_blt_neon (uint32_t *src_bits, ++ uint32_t *dst_bits, ++ int src_stride, ++ int dst_stride, ++ int src_bpp, ++ int dst_bpp, ++ int src_x, ++ int src_y, ++ int dst_x, ++ int dst_y, ++ int width, ++ int height) ++{ ++ switch (src_bpp) ++ { ++ case 16: ++ pixman_composite_src_0565_0565_asm_neon ( ++ width, height, ++ (uint16_t *)(((char *) dst_bits) + ++ dst_y * dst_stride * 4 + dst_x * 2), dst_stride * 2, ++ (uint16_t *)(((char *) src_bits) + ++ src_y * src_stride * 4 + src_x * 2), src_stride * 2); ++ return TRUE; ++ case 32: ++ pixman_composite_src_8888_8888_asm_neon ( ++ width, height, ++ (uint32_t *)(((char *) dst_bits) + ++ dst_y * dst_stride * 4 + dst_x * 4), dst_stride, ++ (uint32_t *)(((char *) src_bits) + ++ src_y * src_stride * 4 + src_x * 4), src_stride); ++ return TRUE; ++ default: ++ return FALSE; ++ } ++} ++ + static const pixman_fast_path_t arm_neon_fast_path_array[] = + { + { PIXMAN_OP_SRC, PIXMAN_r5g6b5, PIXMAN_null, PIXMAN_r5g6b5, neon_composite_src_0565_0565 }, +@@ -361,6 +398,35 @@ arm_neon_composite (pixman_implementation_t *imp, + } + + static pixman_bool_t ++arm_neon_blt (pixman_implementation_t *imp, ++ uint32_t * src_bits, ++ uint32_t * dst_bits, ++ int src_stride, ++ int dst_stride, ++ int src_bpp, ++ int dst_bpp, ++ int src_x, ++ int src_y, ++ int dst_x, ++ int dst_y, ++ int width, ++ int height) ++{ ++ if (!pixman_blt_neon ( ++ src_bits, dst_bits, src_stride, dst_stride, src_bpp, dst_bpp, ++ src_x, src_y, dst_x, dst_y, width, height)) ++ ++ { ++ return _pixman_implementation_blt ( ++ imp->delegate, ++ src_bits, dst_bits, src_stride, dst_stride, src_bpp, dst_bpp, ++ src_x, src_y, dst_x, dst_y, width, height); ++ } ++ ++ return TRUE; ++} ++ ++static pixman_bool_t + arm_neon_fill (pixman_implementation_t *imp, + uint32_t * bits, + int stride, +@@ -385,6 +451,7 @@ _pixman_implementation_create_arm_neon (void) + pixman_implementation_t *imp = _pixman_implementation_create (general); + + imp->composite = arm_neon_composite; ++ imp->blt = arm_neon_blt; + imp->fill = arm_neon_fill; + + return imp; +-- +1.6.2.4 + diff --git a/recipes/xorg-lib/pixman/0002-Test-program-for-pixman_blt-function.patch b/recipes/xorg-lib/pixman/0002-Test-program-for-pixman_blt-function.patch new file mode 100644 index 0000000000..143e79dabf --- /dev/null +++ b/recipes/xorg-lib/pixman/0002-Test-program-for-pixman_blt-function.patch @@ -0,0 +1,178 @@ +From 364406e03f9651aacb1bc684de6c00a27f9df66d Mon Sep 17 00:00:00 2001 +From: Siarhei Siamashka <siarhei.siamashka@nokia.com> +Date: Mon, 19 Oct 2009 20:32:55 +0300 +Subject: [PATCH 2/6] Test program for pixman_blt function + +It can do some basic correctness tests and also check whether +overlapping of source and destination images is supported. +--- + test/Makefile.am | 2 + + test/overlapped-blt-test.c | 136 ++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 138 insertions(+), 0 deletions(-) + create mode 100644 test/overlapped-blt-test.c + +diff --git a/test/Makefile.am b/test/Makefile.am +index 89d32e9..40c305f 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -9,6 +9,7 @@ TESTPROGRAMS = \ + fetch-test \ + oob-test \ + window-test \ ++ overlapped-blt-test \ + trap-crasher + + fetch_test_LDADD = $(TEST_LDADD) +@@ -17,6 +18,7 @@ composite_LDADD = $(TEST_LDADD) + trap_crasher_LDADD = $(TEST_LDADD) + oob_test_LDADD = $(TEST_LDADD) + window_test_LDADD = $(TEST_LDADD) ++overlapped_blt_test_LDADD = $(TEST_LDADD) + + blitters_test_LDADD = $(TEST_LDADD) + blitters_test_SOURCES = blitters-test.c utils.c utils.h +diff --git a/test/overlapped-blt-test.c b/test/overlapped-blt-test.c +new file mode 100644 +index 0000000..95fbc54 +--- /dev/null ++++ b/test/overlapped-blt-test.c +@@ -0,0 +1,136 @@ ++/* ++ * A small test program which can check whether pixman_blt function ++ * can support overlapping of source and destination images. ++ * Efficient blit with overlapping is useful for scrolling. ++ */ ++ ++#include <stdint.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include "pixman.h" ++ ++/* reference implementation (slow) */ ++static void ++trivial_copy8_2d ( ++ uint8_t *dst, int dst_stride, ++ uint8_t *src, int src_stride, ++ int dx, int dy, int sx, int sy, ++ int w, int h) ++{ ++ int x, y; ++ uint8_t *tmp = malloc (src_stride * (sy + h)); ++ memcpy (tmp, src, src_stride * (sy + h)); ++ for (y = 0; y < h; y++) ++ { ++ for (x = 0; x < w; x++) ++ { ++ *(dst + (dy + y) * dst_stride + dx + x) = ++ *(tmp + (sy + y) * src_stride + sx + x); ++ } ++ } ++ free (tmp); ++} ++ ++static void ++trivial_copy_2d ( ++ uint8_t *dst, int dst_stride, ++ uint8_t *src, int src_stride, ++ int dx, int dy, int sx, int sy, ++ int w, int h, int bpp) ++{ ++ trivial_copy8_2d (dst, dst_stride, src, src_stride, ++ dx * (bpp / 8), dy, sx * (bpp / 8), sy, w * (bpp / 8), h); ++} ++ ++/* now the test itself */ ++ ++#define ST_UNSUPPORTED 1 ++#define ST_NORMAL_BUG 2 ++#define ST_OVERLAPPED_BUG 4 ++ ++#define MAX_SIZE_X 64 ++#define MAX_SIZE_Y 64 ++ ++static void print_result(int bpp, int flags) ++{ ++ printf("bpp=%d, supported=%d, normal_ok=%d, overlapped_ok=%d\n", ++ bpp, ++ !(flags & ST_UNSUPPORTED), ++ !(flags & ST_NORMAL_BUG), ++ !(flags & ST_OVERLAPPED_BUG)); ++} ++ ++int main() ++{ ++ int c = 100000, r; ++ int bpp_st[33] = {0}; ++ srand(0); ++ while (c-- > 0) ++ { ++ uint8_t *src1, *src2, *src3; ++ int i; ++ int sizex = rand() % MAX_SIZE_X + 1; ++ int sizey = rand() % MAX_SIZE_Y + 1; ++ int sx = rand() % sizex; ++ int sy = rand() % sizey; ++ int dx = rand() % sizex; ++ int dy = rand() % sizey; ++ int w = rand() % sizex; ++ int h = rand() % sizex; ++ int bpp = 8 * (1 << (rand() % 3)); ++ int stride_delta = rand() % 8; ++ int bufsize; ++ if ((sizex + stride_delta) % 4) ++ stride_delta += 4 - ((sizex + stride_delta) % 4); ++ bufsize = (sizex + stride_delta) * sizey * bpp / 8; ++ src1 = malloc (bufsize); ++ src2 = malloc (bufsize); ++ src3 = malloc (bufsize); ++ for (i = 0; i < bufsize; i++) ++ src1[i] = rand(); ++ memcpy (src2, src1, bufsize); ++ memcpy (src3, src1, bufsize); ++ if (sx + w > sizex) ++ w = sizex - sx; ++ if (dx + w > sizex) ++ w = sizex - dx; ++ if (sy + h > sizey) ++ h = sizey - sy; ++ if (dy + h > sizey) ++ h = sizey - dy; ++ /* get reference result */ ++ trivial_copy_2d (src1, (sizex + stride_delta) * bpp / 8, ++ src1, (sizex + stride_delta) * bpp / 8, ++ dx, dy, sx, sy, w, h, bpp); ++ /* check nonoverlapped pixman result */ ++ r = pixman_blt ((uint32_t *)src3, (uint32_t *)src2, ++ (sizex + stride_delta) * bpp / 8 / 4, ++ (sizex + stride_delta) * bpp / 8 / 4, ++ bpp, bpp, sx, sy, dx, dy, w, h); ++ if (!r) ++ bpp_st[bpp] |= ST_UNSUPPORTED; ++ if (memcmp (src1, src2, bufsize) != 0) ++ bpp_st[bpp] |= ST_NORMAL_BUG; ++ /* check overlapped pixman result */ ++ r = pixman_blt ((uint32_t *)src3, (uint32_t *)src3, ++ (sizex + stride_delta) * bpp / 8 / 4, ++ (sizex + stride_delta) * bpp / 8 / 4, ++ bpp, bpp, sx, sy, dx, dy, w, h); ++ if (!r) ++ bpp_st[bpp] |= ST_UNSUPPORTED; ++ if (memcmp (src1, src3, bufsize) != 0) ++ bpp_st[bpp] |= ST_OVERLAPPED_BUG; ++ /* free buffers */ ++ free (src1); ++ free (src2); ++ free (src3); ++ } ++ ++ /* report results */ ++ print_result (8, bpp_st[8]); ++ print_result (16, bpp_st[16]); ++ print_result (32, bpp_st[32]); ++ ++ return 0; ++} +-- +1.6.2.4 + diff --git a/recipes/xorg-lib/pixman/0003-Generic-C-implementation-of-pixman_blt-with-overlapp.patch b/recipes/xorg-lib/pixman/0003-Generic-C-implementation-of-pixman_blt-with-overlapp.patch new file mode 100644 index 0000000000..25ce7ee3b8 --- /dev/null +++ b/recipes/xorg-lib/pixman/0003-Generic-C-implementation-of-pixman_blt-with-overlapp.patch @@ -0,0 +1,114 @@ +From c29c9fa826b7112156fd6150b5f1564227935c05 Mon Sep 17 00:00:00 2001 +From: Siarhei Siamashka <siarhei.siamashka@nokia.com> +Date: Thu, 22 Oct 2009 05:27:33 +0300 +Subject: [PATCH 3/6] Generic C implementation of pixman_blt with overlapping support + +Uses memcpy/memmove functions to copy pixels, can handle the +case when both source and destination areas are in the same +image (this is useful for scrolling). + +It is assumed that copying direction is only important when +using the same image for both source and destination (and +src_stride == dst_stride). Copying direction is undefined +for the images with different source and destination stride +which happen to be in the overlapped areas (but this is an +unrealistic case anyway). +--- + pixman/pixman-general.c | 21 ++++++++++++++++++--- + pixman/pixman-private.h | 43 +++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 61 insertions(+), 3 deletions(-) + +diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c +index c96a3f9..d71a299 100644 +--- a/pixman/pixman-general.c ++++ b/pixman/pixman-general.c +@@ -300,9 +300,24 @@ general_blt (pixman_implementation_t *imp, + int width, + int height) + { +- /* We can't blit unless we have sse2 or mmx */ +- +- return FALSE; ++ uint8_t *dst_bytes = (uint8_t *)dst_bits; ++ uint8_t *src_bytes = (uint8_t *)src_bits; ++ int bpp; ++ ++ if (src_bpp != dst_bpp || src_bpp & 7) ++ return FALSE; ++ ++ bpp = src_bpp >> 3; ++ width *= bpp; ++ src_stride *= 4; ++ dst_stride *= 4; ++ pixman_blt_helper (src_bytes + src_y * src_stride + src_x * bpp, ++ dst_bytes + dst_y * dst_stride + dst_x * bpp, ++ src_stride, ++ dst_stride, ++ width, ++ height); ++ return TRUE; + } + + static pixman_bool_t +diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h +index 5000f91..8c5d4fd 100644 +--- a/pixman/pixman-private.h ++++ b/pixman/pixman-private.h +@@ -10,6 +10,7 @@ + + #include "pixman.h" + #include <time.h> ++#include <string.h> + #include <assert.h> + + #include "pixman-compiler.h" +@@ -794,4 +795,46 @@ void pixman_timer_register (pixman_timer_t *timer); + + #endif /* PIXMAN_TIMERS */ + ++/* a helper function, can blit 8-bit images with src/dst overlapping support */ ++static inline void ++pixman_blt_helper (uint8_t *src_bytes, ++ uint8_t *dst_bytes, ++ int src_stride, ++ int dst_stride, ++ int width, ++ int height) ++{ ++ /* ++ * The second part of this check is not strictly needed, but it prevents ++ * unnecessary upside-down processing of areas which belong to different ++ * images. Upside-down processing can be slower with fixed-distance-ahead ++ * prefetch and perceived as having more tearing. ++ */ ++ if (src_bytes < dst_bytes + width && ++ src_bytes + src_stride * height > dst_bytes) ++ { ++ src_bytes += src_stride * height - src_stride; ++ dst_bytes += dst_stride * height - dst_stride; ++ dst_stride = -dst_stride; ++ src_stride = -src_stride; ++ /* Horizontal scrolling to the left needs memmove */ ++ if (src_bytes + width > dst_bytes) ++ { ++ while (--height >= 0) ++ { ++ memmove (dst_bytes, src_bytes, width); ++ dst_bytes += dst_stride; ++ src_bytes += src_stride; ++ } ++ return; ++ } ++ } ++ while (--height >= 0) ++ { ++ memcpy (dst_bytes, src_bytes, width); ++ dst_bytes += dst_stride; ++ src_bytes += src_stride; ++ } ++} ++ + #endif /* PIXMAN_PRIVATE_H */ +-- +1.6.2.4 + diff --git a/recipes/xorg-lib/pixman/0004-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch b/recipes/xorg-lib/pixman/0004-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch new file mode 100644 index 0000000000..74c7b45bc4 --- /dev/null +++ b/recipes/xorg-lib/pixman/0004-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch @@ -0,0 +1,91 @@ +From 7ca32542c957ff308a6ca7e3715e6552a65ae395 Mon Sep 17 00:00:00 2001 +From: Siarhei Siamashka <siarhei.siamashka@nokia.com> +Date: Thu, 22 Oct 2009 05:45:47 +0300 +Subject: [PATCH 4/6] Support of overlapping src/dst for pixman_blt_mmx + +--- + pixman/pixman-mmx.c | 55 +++++++++++++++++++++++++++++--------------------- + 1 files changed, 32 insertions(+), 23 deletions(-) + +diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c +index 819e3a0..dcccadb 100644 +--- a/pixman/pixman-mmx.c ++++ b/pixman/pixman-mmx.c +@@ -3002,34 +3002,43 @@ pixman_blt_mmx (uint32_t *src_bits, + { + uint8_t * src_bytes; + uint8_t * dst_bytes; +- int byte_width; ++ int bpp; + +- if (src_bpp != dst_bpp) ++ if (src_bpp != dst_bpp || src_bpp & 7) + return FALSE; + +- if (src_bpp == 16) +- { +- src_stride = src_stride * (int) sizeof (uint32_t) / 2; +- dst_stride = dst_stride * (int) sizeof (uint32_t) / 2; +- src_bytes = (uint8_t *)(((uint16_t *)src_bits) + src_stride * (src_y) + (src_x)); +- dst_bytes = (uint8_t *)(((uint16_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); +- byte_width = 2 * width; +- src_stride *= 2; +- dst_stride *= 2; +- } +- else if (src_bpp == 32) ++ bpp = src_bpp >> 3; ++ width *= bpp; ++ src_stride *= 4; ++ dst_stride *= 4; ++ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp; ++ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp; ++ ++ if (src_bpp != 16 && src_bpp != 32) + { +- src_stride = src_stride * (int) sizeof (uint32_t) / 4; +- dst_stride = dst_stride * (int) sizeof (uint32_t) / 4; +- src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y) + (src_x)); +- dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); +- byte_width = 4 * width; +- src_stride *= 4; +- dst_stride *= 4; ++ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride, ++ width, height); ++ return TRUE; + } +- else ++ ++ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes) + { +- return FALSE; ++ src_bytes += src_stride * height - src_stride; ++ dst_bytes += dst_stride * height - dst_stride; ++ dst_stride = -dst_stride; ++ src_stride = -src_stride; ++ ++ if (src_bytes + width > dst_bytes) ++ { ++ /* TODO: reverse scanline copy using MMX */ ++ while (--height >= 0) ++ { ++ memmove (dst_bytes, src_bytes, width); ++ dst_bytes += dst_stride; ++ src_bytes += src_stride; ++ } ++ return TRUE; ++ } + } + + while (height--) +@@ -3039,7 +3048,7 @@ pixman_blt_mmx (uint32_t *src_bits, + uint8_t *d = dst_bytes; + src_bytes += src_stride; + dst_bytes += dst_stride; +- w = byte_width; ++ w = width; + + while (w >= 2 && ((unsigned long)d & 3)) + { +-- +1.6.2.4 + diff --git a/recipes/xorg-lib/pixman/0005-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch b/recipes/xorg-lib/pixman/0005-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch new file mode 100644 index 0000000000..3704fbf1cf --- /dev/null +++ b/recipes/xorg-lib/pixman/0005-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch @@ -0,0 +1,91 @@ +From edc80b41c6480b7c80ec5f7c835c92b2debb3774 Mon Sep 17 00:00:00 2001 +From: Siarhei Siamashka <siarhei.siamashka@nokia.com> +Date: Thu, 22 Oct 2009 05:45:54 +0300 +Subject: [PATCH 5/6] Support of overlapping src/dst for pixman_blt_sse2 + +--- + pixman/pixman-sse2.c | 55 +++++++++++++++++++++++++++++-------------------- + 1 files changed, 32 insertions(+), 23 deletions(-) + +diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c +index 78b0ad1..b84636b 100644 +--- a/pixman/pixman-sse2.c ++++ b/pixman/pixman-sse2.c +@@ -5300,34 +5300,43 @@ pixman_blt_sse2 (uint32_t *src_bits, + { + uint8_t * src_bytes; + uint8_t * dst_bytes; +- int byte_width; ++ int bpp; + +- if (src_bpp != dst_bpp) ++ if (src_bpp != dst_bpp || src_bpp & 7) + return FALSE; + +- if (src_bpp == 16) +- { +- src_stride = src_stride * (int) sizeof (uint32_t) / 2; +- dst_stride = dst_stride * (int) sizeof (uint32_t) / 2; +- src_bytes =(uint8_t *)(((uint16_t *)src_bits) + src_stride * (src_y) + (src_x)); +- dst_bytes = (uint8_t *)(((uint16_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); +- byte_width = 2 * width; +- src_stride *= 2; +- dst_stride *= 2; +- } +- else if (src_bpp == 32) ++ bpp = src_bpp >> 3; ++ width *= bpp; ++ src_stride *= 4; ++ dst_stride *= 4; ++ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp; ++ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp; ++ ++ if (src_bpp != 16 && src_bpp != 32) + { +- src_stride = src_stride * (int) sizeof (uint32_t) / 4; +- dst_stride = dst_stride * (int) sizeof (uint32_t) / 4; +- src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y) + (src_x)); +- dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); +- byte_width = 4 * width; +- src_stride *= 4; +- dst_stride *= 4; ++ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride, ++ width, height); ++ return TRUE; + } +- else ++ ++ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes) + { +- return FALSE; ++ src_bytes += src_stride * height - src_stride; ++ dst_bytes += dst_stride * height - dst_stride; ++ dst_stride = -dst_stride; ++ src_stride = -src_stride; ++ ++ if (src_bytes + width > dst_bytes) ++ { ++ /* TODO: reverse scanline copy using SSE2 */ ++ while (--height >= 0) ++ { ++ memmove (dst_bytes, src_bytes, width); ++ dst_bytes += dst_stride; ++ src_bytes += src_stride; ++ } ++ return TRUE; ++ } + } + + cache_prefetch ((__m128i*)src_bytes); +@@ -5340,7 +5349,7 @@ pixman_blt_sse2 (uint32_t *src_bits, + uint8_t *d = dst_bytes; + src_bytes += src_stride; + dst_bytes += dst_stride; +- w = byte_width; ++ w = width; + + cache_prefetch_next ((__m128i*)s); + cache_prefetch_next ((__m128i*)d); +-- +1.6.2.4 + diff --git a/recipes/xorg-lib/pixman/0006-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch b/recipes/xorg-lib/pixman/0006-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch new file mode 100644 index 0000000000..af75716bb8 --- /dev/null +++ b/recipes/xorg-lib/pixman/0006-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch @@ -0,0 +1,93 @@ +From 86870ff530b5e435034bd80207e5758466d96cff Mon Sep 17 00:00:00 2001 +From: Siarhei Siamashka <siarhei.siamashka@nokia.com> +Date: Wed, 18 Nov 2009 06:08:48 +0200 +Subject: [PATCH 6/6] Support of overlapping src/dst for pixman_blt_neon + +--- + pixman/pixman-arm-neon.c | 63 ++++++++++++++++++++++++++++++++++++++------- + 1 files changed, 53 insertions(+), 10 deletions(-) + +diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c +index 495fda4..c632ff5 100644 +--- a/pixman/pixman-arm-neon.c ++++ b/pixman/pixman-arm-neon.c +@@ -306,23 +306,66 @@ pixman_blt_neon (uint32_t *src_bits, + int width, + int height) + { ++ uint8_t * src_bytes; ++ uint8_t * dst_bytes; ++ int bpp; ++ ++ if (src_bpp != dst_bpp || src_bpp & 7) ++ return FALSE; ++ ++ bpp = src_bpp >> 3; ++ width *= bpp; ++ src_stride *= 4; ++ dst_stride *= 4; ++ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp; ++ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp; ++ ++ if (src_bpp != 16 && src_bpp != 32) ++ { ++ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride, ++ width, height); ++ return TRUE; ++ } ++ ++ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes) ++ { ++ src_bytes += src_stride * height - src_stride; ++ dst_bytes += dst_stride * height - dst_stride; ++ dst_stride = -dst_stride; ++ src_stride = -src_stride; ++ ++ if (src_bytes + width > dst_bytes) ++ { ++ /* TODO: reverse scanline copy using NEON */ ++ while (--height >= 0) ++ { ++ memmove (dst_bytes, src_bytes, width); ++ dst_bytes += dst_stride; ++ src_bytes += src_stride; ++ } ++ return TRUE; ++ } ++ } ++ + switch (src_bpp) + { + case 16: + pixman_composite_src_0565_0565_asm_neon ( +- width, height, +- (uint16_t *)(((char *) dst_bits) + +- dst_y * dst_stride * 4 + dst_x * 2), dst_stride * 2, +- (uint16_t *)(((char *) src_bits) + +- src_y * src_stride * 4 + src_x * 2), src_stride * 2); ++ width >> 1, ++ height, ++ (uint16_t *) dst_bytes, ++ dst_stride >> 1, ++ (uint16_t *) src_bytes, ++ src_stride >> 1); + return TRUE; + case 32: + pixman_composite_src_8888_8888_asm_neon ( +- width, height, +- (uint32_t *)(((char *) dst_bits) + +- dst_y * dst_stride * 4 + dst_x * 4), dst_stride, +- (uint32_t *)(((char *) src_bits) + +- src_y * src_stride * 4 + src_x * 4), src_stride); ++ width >> 2, ++ height, ++ (uint32_t *) dst_bytes, ++ dst_stride >> 2, ++ (uint32_t *) src_bytes, ++ src_stride >> 2); + return TRUE; + default: + return FALSE; +-- +1.6.2.4 + diff --git a/recipes/xorg-lib/pixman_git.bb b/recipes/xorg-lib/pixman_git.bb index dd02828e37..1b5ca6388f 100644 --- a/recipes/xorg-lib/pixman_git.bb +++ b/recipes/xorg-lib/pixman_git.bb @@ -3,17 +3,24 @@ PRIORITY = "optional" DESCRIPTION = "Low-level pixel manipulation library." LICENSE = "X11" -PV = "0.17.1" +PV = "0.17.3" PR = "r4" PR_append = "+gitr${SRCREV}" -SRCREV = "abefe68ae2a422fecf315f17430c0cda5561be66" +SRCREV = "c97b1e803fc214e9880eaeff98410c8fa37f9ddc" DEFAULT_PREFERENCE = "-1" DEFAULT_PREFERENCE_angstrom = "1" +DEFAULT_PREFERENCE_shr = "1" SRC_URI = "git://anongit.freedesktop.org/pixman;protocol=git \ file://nearest-neighbour.patch;patch=1 \ + file://0001-ARM-NEON-optimized-pixman_blt.patch;patch=1 \ + file://0002-Test-program-for-pixman_blt-function.patch;patch=1 \ + file://0003-Generic-C-implementation-of-pixman_blt-with-overlapp.patch;patch=1 \ + file://0004-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch;patch=1 \ + file://0005-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch;patch=1 \ + file://0006-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch;patch=1 \ " S = "${WORKDIR}/git" diff --git a/recipes/xorg-xserver/xserver-xorg-1.6.1/hack-assume-pixman-supports-overlapped-blt.patch b/recipes/xorg-xserver/xserver-xorg-1.6.1/hack-assume-pixman-supports-overlapped-blt.patch new file mode 100644 index 0000000000..a947582f15 --- /dev/null +++ b/recipes/xorg-xserver/xserver-xorg-1.6.1/hack-assume-pixman-supports-overlapped-blt.patch @@ -0,0 +1,14 @@ +diff --git a/fb/fbcopy.c b/fb/fbcopy.c +index 07eb663..ba394b7 100644 +--- a/fb/fbcopy.c ++++ b/fb/fbcopy.c +@@ -91,8 +91,7 @@ fbCopyNtoN (DrawablePtr pSrcDrawable, + while (nbox--) + { + #ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */ +- if (pm == FB_ALLONES && alu == GXcopy && !reverse && +- !upsidedown) ++ if (pm == FB_ALLONES && alu == GXcopy) + { + if (!pixman_blt ((uint32_t *)src, (uint32_t *)dst, srcStride, dstStride, srcBpp, dstBpp, + (pbox->x1 + dx + srcXoff), diff --git a/recipes/xorg-xserver/xserver-xorg_1.6.1.bb b/recipes/xorg-xserver/xserver-xorg_1.6.1.bb index 5218fde00e..ff8e1cfa03 100644 --- a/recipes/xorg-xserver/xserver-xorg_1.6.1.bb +++ b/recipes/xorg-xserver/xserver-xorg_1.6.1.bb @@ -4,11 +4,14 @@ DESCRIPTION = "the X.Org X server" DEPENDS += "pixman libpciaccess openssl xineramaproto libxinerama" RDEPENDS += "hal" PE = "2" -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" SRC_URI += "file://sysroot_fix.patch;patch=1 \ file://dolt-fix.patch;patch=1" +# This requires support in pixman, which the default one doesn't have +SRC_URI_append_angstrom = " file://hack-assume-pixman-supports-overlapped-blt.patch;patch=1" + MESA_VER = "7.2" export LDFLAGS += " -ldl " |