:
}
-do_populate_staging[dirs] = "${STAGING_DIR_TARGET}/bin ${STAGING_DIR_TARGET}/lib \
- ${STAGING_DIR_TARGET}/include \
+do_populate_staging[dirs] = "${STAGING_DIR_TARGET}/${layout_bindir} ${STAGING_DIR_TARGET}/${layout_libdir} \
+ ${STAGING_DIR_TARGET}/${layout_includedir} \
${STAGING_BINDIR_NATIVE} ${STAGING_LIBDIR_NATIVE} \
${STAGING_INCDIR_NATIVE} \
${STAGING_DATADIR} \
s += " -e 's:OELIBDIR:${STAGING_LIBDIR}:;'"
s += " -e 's:OEINCDIR:${STAGING_INCDIR}:;'"
s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'"
- s += " -e 's:OEPREFIX:${STAGING_LIBDIR}/..:'"
- s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'"
+ s += " -e 's:OEPREFIX:${STAGING_DIR_HOST}${layout_prefix}:'"
+ s += " -e 's:OEEXECPREFIX:${STAGING_DIR_HOST}${layout_exec_prefix}:'"
s += " -e 's:-I${WORKDIR}:-I${STAGING_INCDIR}:'"
s += " -e 's:-L${WORKDIR}:-L${STAGING_LIBDIR}:'"
return s
-e 's:${STAGING_LIBDIR}:${libdir}:g;' \
-e 's:${STAGING_INCDIR}:${includedir}:g;' \
-e 's:${STAGING_DATADIR}:${datadir}:' \
- -e 's:${STAGING_LIBDIR}/..:${prefix}:' > ${D}${bindir}/`basename $config`
+ -e 's:${STAGING_DIR_HOST}${layout_prefix}:${prefix}:' > ${D}${bindir}/`basename $config`
done
fi
-e 's:${STAGING_LIBDIR}:${libdir}:g;' \
-e 's:${STAGING_INCDIR}:${includedir}:g;' \
-e 's:${STAGING_DATADIR}:${datadir}:' \
- -e 's:${STAGING_LIBDIR}/..:${prefix}:' \
+ -e 's:${STAGING_DIR_HOST}${layout_prefix}:${prefix}:' \
$lafile
done
}
CFLAGS = "${BUILD_CFLAGS}"
CXXFLAGS = "${BUILD_CFLAGS}"
LDFLAGS = "${BUILD_LDFLAGS}"
-LDFLAGS_build-darwin = "-L${STAGING_LIBDIR_NATIVE} "
+LDFLAGS_build-darwin = "-L${STAGING_LIBDIR_NATIVE}"
# Overrides for paths
}
distutils_stage_all() {
- install -d ${STAGING_INCDIR}/../${PYTHON_DIR}/site-packages
- PYTHONPATH=${STAGING_INCDIR}/../${PYTHON_DIR}/site-packages \
+ install -d ${STAGING_DIR_HOST}${layout_prefix}/${PYTHON_DIR}/site-packages
+ PYTHONPATH=${STAGING_DIR_HOST}${layout_prefix}/${PYTHON_DIR}/site-packages \
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
- ${STAGING_BINDIR_NATIVE}/python setup.py install --prefix=${STAGING_INCDIR}/.. --install-data=${STAGING_INCDIR}/../share || \
+ ${STAGING_BINDIR_NATIVE}/python setup.py install --prefix=${STAGING_DIR_HOST}${layout_prefix} --install-data=${STAGING_DATADIR} || \
oefatal "python setup.py install (stage) execution failed."
}
PACKAGES = ""
RDEPENDS += "${IMAGE_INSTALL}"
+# "export IMAGE_BASENAME" not supported at this time
IMAGE_BASENAME[export] = "1"
export PACKAGE_INSTALL ?= "${IMAGE_INSTALL}"
sed -i 's%^AUTOLOGIN=\"false"%AUTOLOGIN="true"%g' ${IMAGE_ROOTFS}/etc/sysconfig/gpelogin
}
+# Can be use to create /etc/timestamp during image construction to give a reasonably
+# sane default time setting
+rootfs_update_timestamp () {
+ date "+%m%d%H%M%Y" >${IMAGE_ROOTFS}/etc/timestamp
+}
# export the zap_root_password, create_etc_timestamp and remote_init_link
-EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link do_rootfs make_zimage_symlink_relative set_image_autologin
+EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link do_rootfs make_zimage_symlink_relative set_image_autologin rootfs_update_timestamp
addtask rootfs before do_build after do_install
export CONFIGURE_ARGS = "${EXTRA_OECONF}"
export HOST_LIBIDL_CFLAGS = "`${HOST_LIBIDL_CONFIG} --cflags`"
export HOST_LIBIDL_LIBS = "`${HOST_LIBIDL_CONFIG} --libs`"
-export HOST_LIBIDL_CONFIG = "PKG_CONFIG_PATH=${STAGING_DATADIR_NATIVE}/pkgconfig pkg-config libIDL-2.0"
+export HOST_LIBIDL_CONFIG = "PKG_CONFIG_PATH=${STAGING_LIBDIR_NATIVE}/pkgconfig pkg-config libIDL-2.0"
export HOST_CC = "${BUILD_CC}"
export HOST_CXX = "${BUILD_CXX}"
export HOST_CFLAGS = "${BUILD_CFLAGS}"
s += " -e 's:OELIBDIR:${STAGING_LIBDIR}:;'"
s += " -e 's:OEINCDIR:${STAGING_INCDIR}:;'"
s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'"
- s += " -e 's:OEPREFIX:${STAGING_LIBDIR}/..:'"
- s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'"
+ s += " -e 's:OEPREFIX:${STAGING_DIR_HOST}${layout_prefix}:'"
+ s += " -e 's:OEEXECPREFIX:${STAGING_DIR_HOST}${layout_exec_prefix}:'"
s += " -e 's:-L${WORKDIR}\S*: :g'"
s += " -e 's:-I${WORKDIR}\S*: :g'"
mkdir -p ${IMAGE_ROOTFS}/var/dpkg/info
mkdir -p ${IMAGE_ROOTFS}/var/dpkg/updates
- rm -f ${STAGING_DIR}${sysconfdir}/apt/sources.list.rev
- rm -f ${STAGING_DIR}${sysconfdir}/apt/preferences
+ rm -f ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev
+ rm -f ${STAGING_ETCDIR_NATIVE}/apt/preferences
> ${IMAGE_ROOTFS}/var/dpkg/status
> ${IMAGE_ROOTFS}/var/dpkg/available
# > ${STAGING_DIR}/var/dpkg/status
apt-ftparchive packages . | bzip2 > Packages.bz2
echo "Label: $arch" > Release
- echo "deb file:${DEPLOY_DIR_DEB}/$arch/ ./" >> ${STAGING_DIR}${sysconfdir}/apt/sources.list.rev
+ echo "deb file:${DEPLOY_DIR_DEB}/$arch/ ./" >> ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev
(echo "Package: *"
echo "Pin: release l=$arch"
echo "Pin-Priority: $((800 + $priority))"
- echo) >> ${STAGING_DIR}${sysconfdir}/apt/preferences
+ echo) >> ${STAGING_ETCDIR_NATIVE}/apt/preferences
priority=$(expr $priority + 5)
done
- tac ${STAGING_DIR}${sysconfdir}/apt/sources.list.rev > ${STAGING_DIR}${sysconfdir}/apt/sources.list
+ tac ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev > ${STAGING_ETCDIR_NATIVE}/apt/sources.list
- cat "${STAGING_DIR}${sysconfdir}/apt/apt.conf.sample" \
+ cat "${STAGING_ETCDIR_NATIVE}/apt/apt.conf.sample" \
| sed -e 's#Architecture ".*";#Architecture "${TARGET_ARCH}";#' \
- > "${STAGING_DIR}${sysconfdir}/apt/apt-rootfs.conf"
+ > "${STAGING_ETCDIR_NATIVE}/apt/apt-rootfs.conf"
- export APT_CONFIG="${STAGING_DIR}${sysconfdir}/apt/apt-rootfs.conf"
+ export APT_CONFIG="${STAGING_ETCDIR_NATIVE}/apt/apt-rootfs.conf"
export D=${IMAGE_ROOTFS}
export OFFLINE_ROOT=${IMAGE_ROOTFS}
export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
+ mkdir -p ${IMAGE_ROOTFS}/var/lib/dpkg/alternatives
+
apt-get update
_flag () {
CXXFLAGS = "${BUILD_CFLAGS}"
LDFLAGS = "${BUILD_LDFLAGS}"
+# Path prefixes
prefix = "${SDK_PREFIX}"
exec_prefix = "${prefix}"
-base_prefix = "${exec_prefix}"
+base_prefix = "${prefix}"
+
+# Base paths
+export base_bindir = "${prefix}/bin"
+export base_sbindir = "${prefix}/bin"
+export base_libdir = "${prefix}/lib"
+
+# Architecture independent paths
+export datadir = "${prefix}/share"
+export sysconfdir = "${prefix}/etc"
+export sharedstatedir = "${datadir}/com"
+export localstatedir = "${prefix}/var"
+export infodir = "${datadir}/info"
+export mandir = "${datadir}/man"
+export docdir = "${datadir}/doc"
+export servicedir = "${prefix}/srv"
+
+# Architecture dependent paths
+export bindir = "${prefix}/bin"
+export sbindir = "${prefix}/bin"
+export libexecdir = "${prefix}/libexec"
+export libdir = "${prefix}/lib"
+export includedir = "${prefix}/include"
+export oldincludedir = "${prefix}/include"
FILES_${PN} = "${prefix}"
FILES_${PN}-dbg += "${prefix}/.debug \
${prefix}/bin/.debug \
- ${prefix}/sbin/.debug \
"
+
if len(scanner.result()) == 0:
print >> debug_file, "Scanner failed to scan the html site"
print >> debug_file, "%(query)sproduct=%(product)s&component=%(component)s&short_desc_type=substring&short_desc=%(bugname)s" % vars()
- print >> debug_file, txt
+ #print >> debug_file, txt
return (False,None)
else: # silently pick the first result
print >> debug_file, "Result of bug search is "
- print >> debug_file, txt
+ #print >> debug_file, txt
(number,status) = scanner.result()[0]
return (not status in ["CLOS", "RESO", "VERI"],number)
if not bug_number:
import bb
bb.note("Can't create an attachment, no bugnumber passed to method")
+ print >> debug, "Can't create an attachment, no bugnumber passed to method"
+ return False
+
+ if not attach_query:
+ import bb
+ bb.note("Can't create an attachment, no attach_query passed to method")
+ print >> debug, "Can't create an attachment, no attach_query passed to method"
return False
+
import urllib2
param = { "bugid" : bug_number, "action" : "insert", "data" : file, "description" : "Build log", "ispatch" : "0", "contenttypemethod" : "list", "contenttypeselection" : "text/plain", "comment" : text }
return False
except Exception, e:
print e
- return False
+ print >> debug, "Got exception in poster.open( attach_query, param )"
+ print >> debug, "attach_query: %s param: %s" % (attach_query, param )
+ return False
- print >> debug, result.read()
+ txt = result.read()
if result.code != 200:
+ print >> debug, "Got bad return code (%s)" % result.code
return False
else:
+ print >> debug, "Got good return code (200)"
return True
if bug_number and file:
if not seppuku_create_attachment(debug_file, poster, attach, product, component, bug_number, text, file):
- print >> debug_file, "Failed to attach the build log for bug #%" % bug_number
+ print >> debug_file, "Failed to attach the build log for bug #%s" % bug_number
else:
print >> debug_file, "Created an attachment for '%s' '%s' '%s'" % (product, component, bug_number)
else:
- print >> debug_file, "Not trying to create an attachment for bug #%" % bug_number
+ print >> debug_file, "Not trying to create an attachment for bug #%s" % bug_number
return NotHandled
}
}
tmake_do_configure() {
- paths="${STAGING_DATADIR}/tmake/qws/${TARGET_OS}-${TARGET_ARCH}-g++ $STAGING_DIR/share/tmake/$OS-g++"
+ paths="${STAGING_DATADIR}/tmake/qws/${TARGET_OS}-${TARGET_ARCH}-g++ ${STAGING_DATADIR}/tmake/$OS-g++"
if (echo "${TARGET_ARCH}"|grep -q 'i.86'); then
paths="${STAGING_DATADIR}/tmake/qws/${TARGET_OS}-x86-g++ $paths"
fi
inherit autotools pkgconfig
do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
+ oe_runmake install prefix=${STAGING_DIR_HOST}${layout_prefix} \
bindir=${STAGING_BINDIR} \
includedir=${STAGING_INCDIR} \
libdir=${STAGING_LIBDIR} \
datadir=${STAGING_DATADIR} \
- mandir=${STAGING_DATADIR}/man
+ mandir=${STAGING_DIR_HOST}${layout_mandir}
}
PR = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[2] or 'r0'}"
PF = "${PN}-${EXTENDPE}${PV}-${PR}"
EXTENDPE = "${@['','${PE\x7d_'][bb.data.getVar('PE',d,1) > 0]}"
+EXTENDPEVER = "${@['','${PE\x7d:'][bb.data.getVar('PE',d,1) > 0]}"
+DEBPV = "${EXTENDPEVER}${PV}-${PR}"
P = "${PN}-${PV}"
# Package info.
${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal"
SECTION_${PN}-dev = "devel"
ALLOW_EMPTY_${PN}-dev = "1"
-RDEPENDS_${PN}-dev = "${@['', '${PN} (>= ${PV})'][packaged(bb.data.getVar('PN', d, 1), d) == True]}"
+RDEPENDS_${PN}-dev = "${@['', '${PN} (= ${DEBPV})'][packaged(bb.data.getVar('PN', d, 1), d) == True]}"
FILES_${PN}-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \
${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${PN}/.debug \
${libdir}/matchbox-panel/.debug"
SECTION_${PN}-dbg = "devel"
ALLOW_EMPTY_${PN}-dbg = "1"
-RRECOMMENDS_${PN}-dbg = "${@['', '${PN} (>= ${PV})'][packaged(bb.data.getVar('PN', d, 1), d) == True]}"
+RRECOMMENDS_${PN}-dbg = "${@['', '${PN} (= ${DEBPV})'][packaged(bb.data.getVar('PN', d, 1), d) == True]}"
FILES_${PN}-locale = "${datadir}/locale"
IMAGE_CMD = ""
IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --faketime --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}"
-IMAGE_CMD_yaffs2 = "mkyaffs2image 1 ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.yaffs2 ${EXTRA_IMAGECMD}"
+IMAGE_CMD_yaffs2 = "mkyaffs2image ${EXTRA_IMAGECMD} ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.yaffs2"
IMAGE_CMD_cramfs = "mkcramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cramfs ${EXTRA_IMAGECMD}"
IMAGE_CMD_ext2 = "genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}"
IMAGE_CMD_ext2.gz = "rm -rf ${DEPLOY_DIR_IMAGE}/tmp.gz && mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz; genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz; rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz"
EXTRA_IMAGECMD = ""
EXTRA_IMAGECMD_jffs2 = ""
-EXTRA_IMAGECMD_yaffs2 = ""
+EXTRA_IMAGECMD_yaffs2 = "1"
EXTRA_IMAGECMD_squashfs = ""
EXTRA_IMAGECMD_squashfs-lzma = ""
CROSS_DIR = "${TMPDIR}/cross"
CROSS_DATADIR = "${CROSS_DIR}/share"
-export PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/bin:"
+export PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${layout_sbindir}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/bin:${STAGING_DIR_NATIVE}${layout_base_sbindir}:"
##################################################################
# Build utility info.
##################################################################
SHELLRCCMD = "bash --rcfile $TERMRCFILE"
+export SHELLCMDS = "${SHELLRCCMD}"
# Some common terminal programs to choose from
GNOME_TERMCMD = 'gnome-terminal --disable-factory -t "$TERMWINDOWTITLE"'
-GNOME_TERMCMDRUN = '${GNOME_TERMCMD} -x ${SHELLRCCMD}'
+GNOME_TERMCMDRUN = '${GNOME_TERMCMD} -x $SHELLCMDS'
SCREEN_TERMCMD = 'screen -D -m -t "$TERMWINDOWTITLE"'
-SCREEN_TERMCMDRUN = '${SCREEN_TERMCMD} ${SHELLRCCMD}'
+SCREEN_TERMCMDRUN = '${SCREEN_TERMCMD} $SHELLCMDS'
XTERM_TERMCMD = 'xterm -T "$TERMWINDOWTITLE"'
-XTERM_TERMCMDRUN = '${XTERM_TERMCMD} -e ${SHELLRCCMD}'
+XTERM_TERMCMDRUN = '${XTERM_TERMCMD} -e $SHELLCMDS'
KONSOLE_TERMCMD = 'konsole -T "$TERMWINDOWTITLE"'
-KONSOLE_TERMCMDRUN = '${KCONSOLE_TERMCMD} -e ${SHELLRCCMD}'
+KONSOLE_TERMCMDRUN = '${KONSOLE_TERMCMD} -e $SHELLCMDS'
# Set a default
TERMCMD ?= "${GNOME_TERMCMD}"
require conf/distro/include/sane-srcrevs.inc
#Images built can have to modes:
-# 'debug': empty rootpassword, strace and gdb included
+# 'debug': empty rootpassword, strace included
# 'release' no root password, no strace and gdb by default
DISTRO_TYPE ?= "debug"
#DISTRO_TYPE = "release"
RDEPENDS_kernel-base_hx4700 = ""
RDEPENDS_kernel-base_htcuniversal = ""
+PREFERRED_PROVIDER_libgsmd = "libgsmd"
+
# older gtk-webcore releases don't work on ARM/EABI
# We need to switch to a fixed SRCDATE or release as soon as possible
PREFERRED_VERSION_osb-browser = "0.5.0+svn${SRCDATE}"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
PREFERRED_PROVIDER_xserver ?= "xserver-kdrive"
-PREFERRED_VERSION_libxrandr ?= "1.2.1"
-PREFERRED_VERSION_xrandr ?= "1.2.0"
-PREFERRED_VERSION_randrproto ?= "1.2.1"
-
#use EABI ready toolchain
PREFERRED_VERSION_gcc ?= "4.1.2"
PREFERRED_VERSION_gcc-cross ?= "4.1.2"
# We want to ship extra debug utils in the rootfs when doing a debug build
DEBUG_APPS ?= ""
-DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "tslib-tests tslib-calibrate gdb strace procps",d)}'
+DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "strace procps",d)}'
#this should go away soon
EXTRA_STUFF ?= ""
require conf/distro/include/sane-srcrevs.inc
#Images built can have to modes:
-# 'debug': empty rootpassword, strace and gdb included
+# 'debug': empty rootpassword, strace included
# 'release' no root password, no strace and gdb by default
DISTRO_TYPE ?= "debug"
#DISTRO_TYPE = "release"
PCMCIA_MANAGER = "pcmciautils"
#Preferred version for the kernel on various machines
-PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh17"
-
-PREFERRED_VERSION_gcc = "4.2.1"
-PREFERRED_VERSION_gcc-cross = "4.2.1"
-PREFERRED_VERSION_gcc-cross-initial = "4.1.2"
+PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.21-hh18"
#This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against
PREFERRED_VERSION_linux-libc-headers = "2.6.23"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
PREFERRED_PROVIDER_xserver ?= "xserver-kdrive"
+PREFERRED_VERSION_gcc ?= "4.2.2"
+PREFERRED_VERSION_gcc-cross ?= "4.2.2"
+PREFERRED_VERSION_gcc-cross-sdk ?= "4.2.2"
+PREFERRED_VERSION_gcc-cross-initial ?= "4.2.2"
+
#Loads preferred versions from files, these have weak assigments (?=), so put them at the bottom
require conf/distro/include/preferred-gpe-versions-2.8.inc
require conf/distro/include/preferred-e-versions.inc
# We want to ship extra debug utils in the rootfs when doing a debug build
DEBUG_APPS ?= ""
-DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "tslib-tests tslib-calibrate gdb strace procps",d)}'
+DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "strace procps",d)}'
# Angstrom want to ship some extra stuff. This should be moved into task-base eventually
# contains ipkg specific stuff as well :(
angstrom-version \
ipkg ipkg-collateral \
util-linux-mount util-linux-umount \
- avahi-daemon \
- avahi-autoipd \
${DEBUG_APPS} \
"
kernel-module-vfat \
kernel-module-ext2 \
kernel-module-af-packet \
+ avahi-daemon \
+ avahi-autoipd \
+ openssh-sftp-server \
"
# seppuku bbclass
SEPPUKU_LOGIN = "http://bugs.openembedded.org/query.cgi?"
-SEPPUKU_QUERY = "http://bugs.openembedded.org/buglist.cgi?"
+SEPPUKU_QUERY = "http://bugs.openembedded.org/buglist.cgi?"
SEPPUKU_NEWREPORT = "http://bugs.openembedded.org/post_bug.cgi?bug_file_loc=http%3A%2F%2F&version=Angstrom&priority=P2&bug_severity=normal&op_sys=Linux&rep_platform=Other&"
-SEPPUKU_ADDCOMMENT = "http://bugs.openembedded.org/process_bug.cgi?bug_file_loc=http%3A%2F%2F&version=Angstrom&priority=P2&bug_severity=normal&op_sys=Linux&rep_platform=Other&"SEPPUKU_ATTACHMENT = "http://bugs.openembedded.org/attachment.cgi?"
-SEPPUKU_AUTOBUILD = "1"
+SEPPUKU_ADDCOMMENT = "http://bugs.openembedded.org/process_bug.cgi?bug_file_loc=http%3A%2F%2F&version=Angstrom&priority=P2&bug_severity=normal&op_sys=Linux&rep_platform=Other&"
+SEPPUKU_ATTACHMENT = "http://bugs.openembedded.org/attachment.cgi?"
+SEPPUKU_AUTOBUILD = "1"
SEPPUKU_PRODUCT = "Openembedded"
SEPPUKU_COMPONENT = "build"
SRCREV_pn-kismet ?= "2285"
SRCREV_pn-kismet-newcore ?= "2285"
SRCREV_pn-libfakekey ?= "1455"
-SRCREV_pn-libgsmd ?= "3074"
+SRCREV_pn-libgsmd ?= "3434"
SRCREV_pn-libgsmd-devel ?= "3293"
SRCREV_pn-libjana ?= "665"
SRCREV_pn-libmokogsmd2 ?= "3362"
LICENSE = "GPL"
RRECOMMENDS_alsa-state = "alsa-states"
PV = "0.1.0"
-PR = "r6"
+PR = "r7"
SRC_URI = " \
file://asoundrc \
file://gsmhandset.state \
file://gsmheadset.state \
file://gsmspeakerout.state \
- file://stereoout.state"
+ file://stereoout.state \
+ file://voip-handset.state \
+ file://voip-headset.state"
inherit update-rc.d
--- /dev/null
+state.neo1973 {
+ control.1 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'PCM Volume'
+ value.0 255
+ value.1 255
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'ADC Capture Volume'
+ value.0 195
+ value.1 195
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Mono Playback Volume'
+ value 121
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bypass Playback Volume'
+ value.0 6
+ value.1 6
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 true
+ value.1 true
+ }
+ control.10 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.11 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Bypass Playback Volume'
+ value 6
+ }
+ control.12 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Sidetone Playback Volume'
+ value 2
+ }
+ control.13 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Voice Playback Volume'
+ value 2
+ }
+ control.14 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Playback ZC Switch'
+ value false
+ }
+ control.15 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Linear Control'
+ comment.item.1 'Adaptive Boost'
+ iface MIXER
+ name 'Bass Boost'
+ value 'Linear Control'
+ }
+ control.16 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '130Hz @ 48kHz'
+ comment.item.1 '200Hz @ 48kHz'
+ comment.item.2 '100Hz @ 16kHz'
+ comment.item.3 '400Hz @ 48kHz'
+ comment.item.4 '100Hz @ 8kHz'
+ comment.item.5 '200Hz @ 8kHz'
+ iface MIXER
+ name 'Bass Filter'
+ value '130Hz @ 48kHz'
+ }
+ control.17 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'Bass Volume'
+ value 0
+ }
+ control.18 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'Treble Volume'
+ value 7
+ }
+ control.19 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '8kHz'
+ comment.item.1 '4kHz'
+ iface MIXER
+ name 'Treble Cut-off'
+ value '8kHz'
+ }
+ control.20 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Capture Volume'
+ value.0 2
+ value.1 2
+ }
+ control.21 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Sidetone Capture Volume'
+ value 2
+ }
+ control.22 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ iface MIXER
+ name 'Capture Volume'
+ value.0 63
+ value.1 63
+ }
+ control.23 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.24 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ }
+ control.25 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '3.4Hz @ 48kHz'
+ comment.item.1 '82Hz @ 16k'
+ comment.item.2 '82Hz @ 8kHz'
+ comment.item.3 '170Hz @ 8kHz'
+ iface MIXER
+ name 'Capture Filter Select'
+ value '3.4Hz @ 48kHz'
+ }
+ control.26 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 HiFi
+ comment.item.1 Voice
+ iface MIXER
+ name 'Capture Filter Cut-off'
+ value Voice
+ }
+ control.27 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture Filter Switch'
+ value false
+ }
+ control.28 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Target Volume'
+ value 3
+ }
+ control.29 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Max Volume'
+ value 7
+ }
+ control.30 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 Right
+ comment.item.2 Left
+ comment.item.3 Stereo
+ iface MIXER
+ name 'ALC Capture Function'
+ value Left
+ }
+ control.31 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture ZC Switch'
+ value true
+ }
+ control.32 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Hold Time'
+ value 15
+ }
+ control.33 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Decay Time'
+ value 12
+ }
+ control.34 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Attack Time'
+ value 11
+ }
+ control.35 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'ALC Capture NG Threshold'
+ value 5
+ }
+ control.36 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Constant PGA Gain'
+ comment.item.1 'Mute ADC Output'
+ iface MIXER
+ name 'ALC Capture NG Type'
+ value 'Constant PGA Gain'
+ }
+ control.37 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture NG Switch'
+ value false
+ }
+ control.38 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Capture
+ comment.item.1 Playback
+ iface MIXER
+ name '3D Function'
+ value Playback
+ }
+ control.39 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '2.2kHz'
+ comment.item.1 '1.5kHz'
+ iface MIXER
+ name '3D Upper Cut-off'
+ value '2.2kHz'
+ }
+ control.40 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '200Hz'
+ comment.item.1 '500Hz'
+ iface MIXER
+ name '3D Lower Cut-off'
+ value '200Hz'
+ }
+ control.41 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name '3D Volume'
+ value 0
+ }
+ control.42 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name '3D Switch'
+ value false
+ }
+ control.43 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture 6dB Attenuate'
+ value false
+ }
+ control.44 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback 6dB Attenuate'
+ value false
+ }
+ control.45 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 None
+ comment.item.1 '32kHz'
+ comment.item.2 '44.1kHz'
+ comment.item.3 '48kHz'
+ iface MIXER
+ name De-emphasis
+ value None
+ }
+ control.46 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 Mono
+ iface MIXER
+ name 'Playback Mono Mix'
+ value Right
+ }
+ control.47 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Non Inverted'
+ comment.item.1 Inverted
+ iface MIXER
+ name 'Playback Phase'
+ value 'Non Inverted'
+ }
+ control.48 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic2 Capture Volume'
+ value 0
+ }
+ control.49 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic1 Capture Volume'
+ value 2
+ }
+ control.50 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'DAI 0'
+ comment.item.1 'DAI 1'
+ comment.item.2 'DAI 2'
+ comment.item.3 'DAI 3'
+ iface MIXER
+ name 'DAI Mode'
+ value 'DAI 2'
+ }
+ control.51 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Left ADC'
+ comment.item.2 'Right ADC'
+ comment.item.3 'Channel Swap'
+ iface MIXER
+ name 'ADC Data Select'
+ value 'Channel Swap'
+ }
+ control.52 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Mic 1'
+ comment.item.1 'Mic 2'
+ comment.item.2 'Mic 3'
+ iface MIXER
+ name 'Mic Selection Mux'
+ value 'Mic 2'
+ }
+ control.53 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'RXP - RXN'
+ comment.item.1 'RXP + RXN'
+ comment.item.2 RXP
+ comment.item.3 RXN
+ iface MIXER
+ name 'Rx Mixer'
+ value 'RXP - RXN'
+ }
+ control.54 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1 + 2'
+ comment.item.1 'Line 1 - 2'
+ comment.item.2 'Line 1'
+ comment.item.3 'Line 2'
+ iface MIXER
+ name 'Line Mixer'
+ value 'Line 1 + 2'
+ }
+ control.55 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line Mix'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Mono Mux'
+ value 'Rx Mix'
+ }
+ control.56 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 2'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Right Mux'
+ value 'Rx Mix'
+ }
+ control.57 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Left Mux'
+ value 'Line 1'
+ }
+ control.58 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Line Capture Switch'
+ value false
+ }
+ control.59 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic2 Capture Switch'
+ value true
+ }
+ control.60 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic1 Capture Switch'
+ value false
+ }
+ control.61 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Rx Capture Switch'
+ value false
+ }
+ control.62 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Left PGA'
+ comment.item.1 'Mic 1'
+ comment.item.2 'Mic 2'
+ comment.item.3 'Right PGA'
+ iface MIXER
+ name 'Mic Sidetone Mux'
+ value 'Mic 1'
+ }
+ control.63 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Sidetone
+ iface MIXER
+ name 'Capture Right Mux'
+ value PGA
+ }
+ control.64 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Line
+ iface MIXER
+ name 'Capture Left Mux'
+ value PGA
+ }
+ control.65 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Right Mixer'
+ value 'Analogue Mix Left'
+ }
+ control.66 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Left Mixer'
+ value 'Analogue Mix Left'
+ }
+ control.67 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Voice Capture Sw'
+ value false
+ }
+ control.68 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Left Capture Swi'
+ value false
+ }
+ control.69 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Right Capture Sw'
+ value false
+ }
+ control.70 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 'Capture ST'
+ comment.item.2 LOUT2
+ iface MIXER
+ name 'Out4 Mux'
+ value VREF
+ }
+ control.71 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 ROUT2
+ comment.item.2 'Left + Right'
+ iface MIXER
+ name 'Out3 Mux'
+ value VREF
+ }
+ control.72 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Inverted Mono 1'
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 'Left + Right'
+ iface MIXER
+ name 'Mono 2 Mux'
+ value 'Inverted Mono 1'
+ }
+ control.73 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Left Playback Switch'
+ value false
+ }
+ control.74 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Right Playback Switc'
+ value false
+ }
+ control.75 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Voice Playback Switc'
+ value false
+ }
+ control.76 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.77 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Bypass Playback Swit'
+ value false
+ }
+ control.78 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Voice Playback Swit'
+ value false
+ }
+ control.79 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Sidetone Playback S'
+ value false
+ }
+ control.80 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Right Playback Swit'
+ value true
+ }
+ control.81 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Bypass Playback Swi'
+ value false
+ }
+ control.82 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Voice Playback Switc'
+ value false
+ }
+ control.83 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.84 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Left Playback Switch'
+ value true
+ }
+ control.85 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Bypass Playback Swit'
+ value false
+ }
+ control.86 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Left Playback Volume'
+ value 16
+ }
+ control.87 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Right Playback Volume'
+ value 29
+ }
+ control.88 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Mono Playback Volume'
+ value 18
+ }
+ control.89 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'Call Speaker'
+ comment.item.2 'Stereo Speakers'
+ comment.item.3 'Stereo Speakers + Headphones'
+ comment.item.4 Headphones
+ iface MIXER
+ name 'Amp Mode'
+ value 'Call Speaker'
+ }
+ control.90 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'GSM Handset'
+ comment.item.2 'GSM Headset'
+ comment.item.3 'GSM Bluetooth'
+ comment.item.4 Speakers
+ comment.item.5 Headphones
+ comment.item.6 'Capture Handset'
+ comment.item.7 'Capture Headset'
+ comment.item.8 'Capture Bluetooth'
+ iface MIXER
+ name 'Neo Mode'
+ value 'GSM Handset'
+ }
+ control.91 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Spk 3D Playback Switch'
+ value true
+ }
+ control.92 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp HP 3d Playback Switch'
+ value false
+ }
+ control.93 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Fast Wakeup Playback Switch'
+ value false
+ }
+ control.94 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Earpiece 6dB Playback Switch'
+ value false
+ }
+}
--- /dev/null
+state.neo1973 {
+ control.1 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'PCM Volume'
+ value.0 255
+ value.1 255
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'ADC Capture Volume'
+ value.0 195
+ value.1 195
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Mono Playback Volume'
+ value 121
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bypass Playback Volume'
+ value.0 6
+ value.1 6
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 true
+ value.1 true
+ }
+ control.10 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.11 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Bypass Playback Volume'
+ value 6
+ }
+ control.12 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Sidetone Playback Volume'
+ value 2
+ }
+ control.13 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Voice Playback Volume'
+ value 2
+ }
+ control.14 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Playback ZC Switch'
+ value false
+ }
+ control.15 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Linear Control'
+ comment.item.1 'Adaptive Boost'
+ iface MIXER
+ name 'Bass Boost'
+ value 'Linear Control'
+ }
+ control.16 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '130Hz @ 48kHz'
+ comment.item.1 '200Hz @ 48kHz'
+ comment.item.2 '100Hz @ 16kHz'
+ comment.item.3 '400Hz @ 48kHz'
+ comment.item.4 '100Hz @ 8kHz'
+ comment.item.5 '200Hz @ 8kHz'
+ iface MIXER
+ name 'Bass Filter'
+ value '130Hz @ 48kHz'
+ }
+ control.17 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'Bass Volume'
+ value 0
+ }
+ control.18 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'Treble Volume'
+ value 7
+ }
+ control.19 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '8kHz'
+ comment.item.1 '4kHz'
+ iface MIXER
+ name 'Treble Cut-off'
+ value '8kHz'
+ }
+ control.20 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Capture Volume'
+ value.0 2
+ value.1 2
+ }
+ control.21 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Sidetone Capture Volume'
+ value 2
+ }
+ control.22 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ iface MIXER
+ name 'Capture Volume'
+ value.0 63
+ value.1 63
+ }
+ control.23 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.24 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ }
+ control.25 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '3.4Hz @ 48kHz'
+ comment.item.1 '82Hz @ 16k'
+ comment.item.2 '82Hz @ 8kHz'
+ comment.item.3 '170Hz @ 8kHz'
+ iface MIXER
+ name 'Capture Filter Select'
+ value '3.4Hz @ 48kHz'
+ }
+ control.26 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 HiFi
+ comment.item.1 Voice
+ iface MIXER
+ name 'Capture Filter Cut-off'
+ value Voice
+ }
+ control.27 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture Filter Switch'
+ value false
+ }
+ control.28 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Target Volume'
+ value 3
+ }
+ control.29 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Max Volume'
+ value 7
+ }
+ control.30 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 Right
+ comment.item.2 Left
+ comment.item.3 Stereo
+ iface MIXER
+ name 'ALC Capture Function'
+ value Left
+ }
+ control.31 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture ZC Switch'
+ value true
+ }
+ control.32 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Hold Time'
+ value 15
+ }
+ control.33 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Decay Time'
+ value 12
+ }
+ control.34 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Attack Time'
+ value 11
+ }
+ control.35 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'ALC Capture NG Threshold'
+ value 5
+ }
+ control.36 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Constant PGA Gain'
+ comment.item.1 'Mute ADC Output'
+ iface MIXER
+ name 'ALC Capture NG Type'
+ value 'Constant PGA Gain'
+ }
+ control.37 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture NG Switch'
+ value false
+ }
+ control.38 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Capture
+ comment.item.1 Playback
+ iface MIXER
+ name '3D Function'
+ value Playback
+ }
+ control.39 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '2.2kHz'
+ comment.item.1 '1.5kHz'
+ iface MIXER
+ name '3D Upper Cut-off'
+ value '2.2kHz'
+ }
+ control.40 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '200Hz'
+ comment.item.1 '500Hz'
+ iface MIXER
+ name '3D Lower Cut-off'
+ value '200Hz'
+ }
+ control.41 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name '3D Volume'
+ value 0
+ }
+ control.42 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name '3D Switch'
+ value false
+ }
+ control.43 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture 6dB Attenuate'
+ value false
+ }
+ control.44 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback 6dB Attenuate'
+ value false
+ }
+ control.45 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 None
+ comment.item.1 '32kHz'
+ comment.item.2 '44.1kHz'
+ comment.item.3 '48kHz'
+ iface MIXER
+ name De-emphasis
+ value None
+ }
+ control.46 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 Mono
+ iface MIXER
+ name 'Playback Mono Mix'
+ value Right
+ }
+ control.47 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Non Inverted'
+ comment.item.1 Inverted
+ iface MIXER
+ name 'Playback Phase'
+ value 'Non Inverted'
+ }
+ control.48 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic2 Capture Volume'
+ value 0
+ }
+ control.49 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic1 Capture Volume'
+ value 2
+ }
+ control.50 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'DAI 0'
+ comment.item.1 'DAI 1'
+ comment.item.2 'DAI 2'
+ comment.item.3 'DAI 3'
+ iface MIXER
+ name 'DAI Mode'
+ value 'DAI 2'
+ }
+ control.51 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Left ADC'
+ comment.item.2 'Right ADC'
+ comment.item.3 'Channel Swap'
+ iface MIXER
+ name 'ADC Data Select'
+ value 'Channel Swap'
+ }
+ control.52 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Mic 1'
+ comment.item.1 'Mic 2'
+ comment.item.2 'Mic 3'
+ iface MIXER
+ name 'Mic Selection Mux'
+ value 'Mic 1'
+ }
+ control.53 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'RXP - RXN'
+ comment.item.1 'RXP + RXN'
+ comment.item.2 RXP
+ comment.item.3 RXN
+ iface MIXER
+ name 'Rx Mixer'
+ value 'RXP - RXN'
+ }
+ control.54 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1 + 2'
+ comment.item.1 'Line 1 - 2'
+ comment.item.2 'Line 1'
+ comment.item.3 'Line 2'
+ iface MIXER
+ name 'Line Mixer'
+ value 'Line 1 + 2'
+ }
+ control.55 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line Mix'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Mono Mux'
+ value 'Rx Mix'
+ }
+ control.56 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 2'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Right Mux'
+ value 'Rx Mix'
+ }
+ control.57 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Left Mux'
+ value 'Line 1'
+ }
+ control.58 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Line Capture Switch'
+ value false
+ }
+ control.59 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic2 Capture Switch'
+ value false
+ }
+ control.60 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic1 Capture Switch'
+ value true
+ }
+ control.61 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Rx Capture Switch'
+ value false
+ }
+ control.62 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Left PGA'
+ comment.item.1 'Mic 1'
+ comment.item.2 'Mic 2'
+ comment.item.3 'Right PGA'
+ iface MIXER
+ name 'Mic Sidetone Mux'
+ value 'Mic 1'
+ }
+ control.63 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Sidetone
+ iface MIXER
+ name 'Capture Right Mux'
+ value PGA
+ }
+ control.64 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Line
+ iface MIXER
+ name 'Capture Left Mux'
+ value PGA
+ }
+ control.65 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Right Mixer'
+ value 'Analogue Mix Left'
+ }
+ control.66 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Left Mixer'
+ value 'Analogue Mix Left'
+ }
+ control.67 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Voice Capture Sw'
+ value false
+ }
+ control.68 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Left Capture Swi'
+ value false
+ }
+ control.69 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Right Capture Sw'
+ value false
+ }
+ control.70 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 'Capture ST'
+ comment.item.2 LOUT2
+ iface MIXER
+ name 'Out4 Mux'
+ value VREF
+ }
+ control.71 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 ROUT2
+ comment.item.2 'Left + Right'
+ iface MIXER
+ name 'Out3 Mux'
+ value VREF
+ }
+ control.72 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Inverted Mono 1'
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 'Left + Right'
+ iface MIXER
+ name 'Mono 2 Mux'
+ value 'Inverted Mono 1'
+ }
+ control.73 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Left Playback Switch'
+ value false
+ }
+ control.74 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Right Playback Switc'
+ value false
+ }
+ control.75 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Voice Playback Switc'
+ value false
+ }
+ control.76 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.77 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Bypass Playback Swit'
+ value false
+ }
+ control.78 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Voice Playback Swit'
+ value false
+ }
+ control.79 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Sidetone Playback S'
+ value false
+ }
+ control.80 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Right Playback Swit'
+ value true
+ }
+ control.81 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Bypass Playback Swi'
+ value false
+ }
+ control.82 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Voice Playback Switc'
+ value false
+ }
+ control.83 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.84 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Left Playback Switch'
+ value true
+ }
+ control.85 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Bypass Playback Swit'
+ value false
+ }
+ control.86 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Left Playback Volume'
+ value 16
+ }
+ control.87 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Right Playback Volume'
+ value 29
+ }
+ control.88 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Mono Playback Volume'
+ value 18
+ }
+ control.89 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'Call Speaker'
+ comment.item.2 'Stereo Speakers'
+ comment.item.3 'Stereo Speakers + Headphones'
+ comment.item.4 Headphones
+ iface MIXER
+ name 'Amp Mode'
+ value Headphones
+ }
+ control.90 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'GSM Handset'
+ comment.item.2 'GSM Headset'
+ comment.item.3 'GSM Bluetooth'
+ comment.item.4 Speakers
+ comment.item.5 Headphones
+ comment.item.6 'Capture Handset'
+ comment.item.7 'Capture Headset'
+ comment.item.8 'Capture Bluetooth'
+ iface MIXER
+ name 'Neo Mode'
+ value 'GSM Headset'
+ }
+ control.91 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Spk 3D Playback Switch'
+ value true
+ }
+ control.92 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp HP 3d Playback Switch'
+ value false
+ }
+ control.93 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Fast Wakeup Playback Switch'
+ value false
+ }
+ control.94 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Earpiece 6dB Playback Switch'
+ value false
+ }
+}
file://gen_uri_delims.patch;patch=1 \
file://uri_delims.h"
-EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS} --with-dbm=gdbm --with-gdbm=${STAGING_DIR}/${HOST_SYS} --with-expat=${STAGING_DIR}/${HOST_SYS}"
+EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS} --with-dbm=gdbm --with-gdbm=${STAGING_DIR_HOST}${layout_prefix} --with-expat=${STAGING_DIR_HOST}${layout_prefix}"
inherit autotools lib_package binconfig
SRC_URI = "${APACHE_MIRROR}/apr/${P}.tar.gz"
EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS} --with-dbm=gdbm \
- --with-gdbm=${STAGING_DIR}/${HOST_SYS} \
+ --with-gdbm=${STAGING_DIR_HOST}${layout_prefix} \
--without-sqlite2 \
--without-sqlite3 \
- --with-expat=${STAGING_DIR}/${HOST_SYS}"
+ --with-expat=${STAGING_DIR_HOST}${layout_prefix}"
inherit autotools lib_package binconfig
export CROSS_COMPILE="${CCACHE}${HOST_PREFIX}"
export CROSS_COMPILE_BIN="${STAGING_BINDIR_CROSS}"
-export CROSS_COMPILE_TARGET="${STAGING_DIR}/${HOST_SYS}"
+export CROSS_COMPILE_TARGET="${STAGING_DIR_HOST}"
export CROSS_ARCH="Linux"
export CROSS_PROC="${TARGET_ARCH}"
-DEPENDS = "glib-2.0 gtk-doc"
+DEPENDS = "glib-2.0 gtk-doc-native"
DESCRIPTION = "An accessibility toolkit for GNOME."
SECTION = "x11/libs"
PRIORITY = "optional"
PRIORITY = "optional"
LICENSE = "LGPL"
-DEPENDS = "glib-2.0 gtk-doc"
+DEPENDS = "glib-2.0 gtk-doc-native"
SRC_URI = "http://download.gnome.org/sources/atk/1.20/${PN}-${PV}.tar.bz2"
--- /dev/null
+We don't build xmkmf so any values returned from it are going to be wrong.
+Using any paths in /usr/ for x headers/libs is a bad idea when cross compiling.
+This patch removes them to stop any confusion.
+
+RP - 20071115
+
+Index: autoconf-2.61/lib/autoconf/libs.m4
+===================================================================
+--- autoconf-2.61.orig/lib/autoconf/libs.m4 2006-10-15 01:12:02.000000000 +0000
++++ autoconf-2.61/lib/autoconf/libs.m4 2007-11-15 12:09:59.000000000 +0000
+@@ -180,53 +180,6 @@
+ # --------------------- #
+
+
+-# _AC_PATH_X_XMKMF
+-# ----------------
+-# Internal subroutine of _AC_PATH_X.
+-# Set ac_x_includes and/or ac_x_libraries.
+-m4_define([_AC_PATH_X_XMKMF],
+-[AC_ARG_VAR(XMKMF, [Path to xmkmf, Makefile generator for X Window System])dnl
+-rm -f -r conftest.dir
+-if mkdir conftest.dir; then
+- cd conftest.dir
+- cat >Imakefile <<'_ACEOF'
+-incroot:
+- @echo incroot='${INCROOT}'
+-usrlibdir:
+- @echo usrlibdir='${USRLIBDIR}'
+-libdir:
+- @echo libdir='${LIBDIR}'
+-_ACEOF
+- if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
+- # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+- for ac_var in incroot usrlibdir libdir; do
+- eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
+- done
+- # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+- for ac_extension in a so sl; do
+- if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
+- test -f "$ac_im_libdir/libX11.$ac_extension"; then
+- ac_im_usrlibdir=$ac_im_libdir; break
+- fi
+- done
+- # Screen out bogus values from the imake configuration. They are
+- # bogus both because they are the default anyway, and because
+- # using them would break gcc on systems where it needs fixed includes.
+- case $ac_im_incroot in
+- /usr/include) ac_x_includes= ;;
+- *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
+- esac
+- case $ac_im_usrlibdir in
+- /usr/lib | /lib) ;;
+- *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
+- esac
+- fi
+- cd ..
+- rm -f -r conftest.dir
+-fi
+-])# _AC_PATH_X_XMKMF
+-
+-
+ # _AC_PATH_X_DIRECT
+ # -----------------
+ # Internal subroutine of _AC_PATH_X.
+@@ -234,40 +187,7 @@
+ m4_define([_AC_PATH_X_DIRECT],
+ [# Standard set of common directories for X headers.
+ # Check X11 before X11Rn because it is often a symlink to the current release.
+-ac_x_header_dirs='
+-/usr/X11/include
+-/usr/X11R6/include
+-/usr/X11R5/include
+-/usr/X11R4/include
+-
+-/usr/include/X11
+-/usr/include/X11R6
+-/usr/include/X11R5
+-/usr/include/X11R4
+-
+-/usr/local/X11/include
+-/usr/local/X11R6/include
+-/usr/local/X11R5/include
+-/usr/local/X11R4/include
+-
+-/usr/local/include/X11
+-/usr/local/include/X11R6
+-/usr/local/include/X11R5
+-/usr/local/include/X11R4
+-
+-/usr/X386/include
+-/usr/x386/include
+-/usr/XFree86/include/X11
+-
+-/usr/include
+-/usr/local/include
+-/usr/unsupported/include
+-/usr/athena/include
+-/usr/local/x11r5/include
+-/usr/lpp/Xamples/include
+-
+-/usr/openwin/include
+-/usr/openwin/share/include'
++ac_x_header_dirs=''
+
+ if test "$ac_x_includes" = no; then
+ # Guess where to find include files, by looking for Xlib.h.
+@@ -316,7 +236,6 @@
+ [AC_CACHE_VAL(ac_cv_have_x,
+ [# One or both of the vars are not set, and there is no cached value.
+ ac_x_includes=no ac_x_libraries=no
+-_AC_PATH_X_XMKMF
+ _AC_PATH_X_DIRECT
+ case $ac_x_includes,$ac_x_libraries in #(
+ no,* | *,no | *\'*)
DEPENDS = "m4-native gnu-config-native"
RDEPENDS_${PN} = "m4-native gnu-config-native"
+SRC_URI += "file://fix_path_xtra.patch;patch=1"
+
S = "${WORKDIR}/autoconf-${PV}"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/autoconf-${PV}"
inherit native
-
-#
-# without it the build breaks:
-# | make[1]: *** No rule to make target `../bin/autom4te', needed by `autoconf.in'. Stop.
-#
-PARALLEL_MAKE = ""
-
require autoconf.inc
-PARALLEL_MAKE = ""
+PR = "r1"
+
+PARALLEL_MAKE = ""
DEPENDS += "m4-native"
RDEPENDS_${PN} = "m4 gnu-config"
file://autoheader-nonfatal-warnings.patch;patch=1 \
file://config-site.patch;patch=1 \
${@['file://path_prog_fixes.patch;patch=1', ''][bb.data.inherits_class('native', d)]}"
-
#PYTHON_ROOT = "/dev/null"
# to remove the python build
DEPENDS += "python"
-PYTHON_ROOT = "${STAGING_DIR}/${HOST_SYS}"
+PYTHON_ROOT = "${STAGING_DIR_HOST}"
PYTHON_VERSION = "2.4"
PACKAGES += "boost-python"
#PYTHON_ROOT = "/dev/null"
# to remove the python build
DEPENDS += "python"
-PYTHON_ROOT = "${STAGING_DIR}/${HOST_SYS}"
+PYTHON_ROOT = "${STAGING_DIR_HOST}"
PYTHON_VERSION = "2.4"
PACKAGES += "boost-python"
# Don't check for clamav uid/gid - they don't exist on the host
# Put virus definitions in /var/lib not /usr/lib
EXTRA_OECONF = "--disable-clamav \
- --with-zlib=${STAGING_DIR}/${HOST_SYS} \
+ --with-zlib=${STAGING_DIR_HOST}${layout_prefix} \
--with-libcurl \
--with-dbdir=${localstatedir}/lib/clamav"
do_configure () {
oe_runmake createconf
- qemu-${TARGET_ARCH} -L ${STAGING_DIR}/${HOST_SYS} ./createconf
+ qemu-${TARGET_ARCH} -L ${STAGING_DIR_HOST} ./createconf
}
do_compile () {
DEPENDS = "intltool-native libglade glib-2.0 gtk+ gconf dbus db gnome-common virtual/libiconv zlib intltool"
PV = "1.4.0+svnr${SRCREV}"
-PR = "r6"
+PR = "r7"
SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \
file://no_libdb.patch;patch=1 \
# -ldb needs this on some platforms
LDFLAGS += "-lpthread"
-EXTRA_OECONF = "--without-openldap --with-dbus --without-bug-buddy --without-soup --with-libdb=${STAGING_DIR}/${HOST_SYS} --disable-smime --disable-nss --disable-nntp --disable-gtk-doc"
+do_configure_append = " cp ${WORKDIR}/iconv-detect.h ${S} "
+EXTRA_OECONF = "--without-openldap --with-dbus --without-bug-buddy --without-soup --with-libdb=${STAGING_DIR_HOST}${layout_prefix} --disable-smime --disable-nss --disable-nntp --disable-gtk-doc"
PACKAGES =+ "libcamel-collateral libcamel libcamel-dev libebook libebook-dev libecal libecal-dev libedata-book libedata-book-dev libedata-cal libedata-cal-dev libedataserver libedataserver-dev"
FILES_libebook = "${libdir}/libebook-*.so.*"
FILES_libebook-dev = "${libdir}/libebook-1.2.so ${libdir}/pkgconfig/libebook-*.pc ${includedir}/evolution-data-server*/libebook/*.h"
+RRECOMMENDS_libebook = "libedata-book"
FILES_libecal = "${libdir}/libecal-*.so.* ${datadir}/evolution-data-server-1.4/zoneinfo"
FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc ${includedir}/evolution-data-server*/libecal/*.h ${includedir}/evolution-data-server*/libical/*.h"
+RRECOMMENDS_libecal = "libedata-cal tzdata"
FILES_libedata-book = "${libexecdir}/e-addressbook-factory ${datadir}/dbus-1/services/*.AddressBook.service ${libdir}/libedata-book-*.so.* ${libdir}/evolution-data-server-*/extensions/libebook*.so"
FILES_libedata-book-dev = "${libdir}/libedata-book-*.so ${libdir}/pkgconfig/libedata-book-*.pc ${includedir}/evolution-data-server-*/libedata-book"
FILES_libedataserver = "${libdir}/libedataserver-*.so.*"
FILES_libedataserver-dev = "${libdir}/libedataserver-*.so ${libdir}/pkgconfig/libedataserver-*.pc ${includedir}/evolution-data-server-*/libedataserver/*.h"
-do_configure_append = " cp ${WORKDIR}/iconv-detect.h ${S} "
-
do_stage () {
autotools_stage_all
}
SRC_URI = "http://download.sourceforge.net/abiword/enchant-1.1.3.tar.gz"
do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
+ oe_runmake install prefix=${STAGING_DIR_HOST}${layout_prefix} \
bindir=${STAGING_BINDIR} \
includedir=${STAGING_INCDIR} \
libdir=${STAGING_LIBDIR} \
datadir=${STAGING_DATADIR} \
- mandir=${STAGING_DIR}/share/man
+ mandir=${STAGING_DIR_HOST}${layout_mandir}
}
SRC_URI = "http://www.abisource.com/downloads/enchant/${PV}/enchant-${PV}.tar.gz \
file://configure.patch;patch=1"
-EXTRA_OECONF = "--with-aspell-prefix=${STAGING_DIR}/${HOST_SYS} --enable-aspell --disable-binreloc"
+EXTRA_OECONF = "--with-aspell-prefix=${STAGING_DIR_HOST}${layout_prefix} --enable-aspell --disable-binreloc"
FILES_${PN} = "/usr/bin/* /usr/lib/enchant/*.so /usr/share/enchant /usr/lib/libenchant*.so.*"
do_stage() {
- oe_runmake install prefix=${STAGING_DIR} \
+ oe_runmake install prefix=${STAGING_DIR_HOST}${layout_prefix} \
bindir=${STAGING_BINDIR} \
includedir=${STAGING_INCDIR} \
libdir=${STAGING_LIBDIR} \
datadir=${STAGING_DATADIR} \
- mandir=${STAGING_DIR}/share/man
+ mandir=${STAGING_DIR_HOST}${layout_mandir}
}
SRC_URI = "http://www.abisource.com/downloads/enchant/${PV}/enchant-${PV}.tar.gz"
-EXTRA_OECONF = "--with-aspell-prefix=${STAGING_DIR}/${HOST_SYS} --enable-aspell --disable-binreloc"
+EXTRA_OECONF = "--with-aspell-prefix=${STAGING_DIR_HOST}${layout_prefix} --enable-aspell --disable-binreloc"
FILES_${PN} = "/usr/bin/* /usr/lib/enchant/*.so /usr/share/enchant /usr/lib/libenchant*.so.*"
inherit autotools
do_configure_prepend () {
- cp ${STAGING_DIR}/${HOST_SYS}/share/gnome-common/data/omf.make ${S}
+ cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
}
SRC_URI += "file://noscrollkeeper.patch;patch=1"
do_configure_prepend () {
- cp ${STAGING_DIR}/${HOST_SYS}/share/gnome-common/data/omf.make ${S}
+ cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
}
chmod +x ${S}/configure
CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
--without-cvs --disable-sanity-checks \
- --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ --with-headers=${STAGING_DIR_TARGET}${layout_includedir} \
--enable-hacker-mode
if grep -q GLIBC_2.3 ${S}/ChangeLog; then
# glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c, which fails without a real cross-compiler.
BINARY_LOCALE_ARCHES ?= "arm.*"
PACKAGES = "glibc-dbg glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
-PACKAGES_DYNAMIC = "glibc-gconv-* glibc-charmap-* glibc-localedata-* locale-base-*"
+PACKAGES_DYNAMIC = "glibc-gconv-* glibc-charmap-* glibc-localedata-* locale-base-* glibc-binary-localedata-*"
libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*"
FILES_nscd = "${sbindir}/nscd*"
FILES_glibc-utils = "${bindir}/* ${sbindir}/*"
FILES_glibc-gconv = "${libdir}/gconv/*"
-FILES_${PN}-dbg += "${libexecdir}/getconf/.debug ${libdir}/gconv/.debug"
+FILES_${PN}-dbg += " ${libdir}/gconv/.debug ${libexecdir}/*/.debug"
FILES_catchsegv = "${bindir}/catchsegv"
RDEPENDS_catchsegv = "libsegfault"
FILES_glibc-pcprofile = "/lib/libpcprofile.so"
DEPENDS = "gnome-common libgnomeui"
-EXTRA_AUTORECONF = "-I ${STAGING_DIR}/${HOST_SYS}/share/aclocal/gnome2-macros"
+EXTRA_AUTORECONF = "-I ${STAGING_DATADIR}/aclocal/gnome2-macros"
do_configure_prepend () {
- cp ${STAGING_DIR}/${HOST_SYS}/share/gnome-common/data/omf.make ${S}
+ cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
}
do_stage () {
EXTRA_OECONF = "--disable-scrollkeeper"
-EXTRA_AUTORECONF = "-I ${STAGING_DIR}/${HOST_SYS}/share/aclocal/gnome2-macros"
+EXTRA_AUTORECONF = "-I ${STAGING_DATADIR}/aclocal/gnome2-macros"
do_configure_prepend () {
- cp ${STAGING_DIR}/${HOST_SYS}/share/gnome-common/data/omf.make ${S}
+ cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
}
FILES_${PN} += "${datadir}/gnome-about"
EXTRA_OECONF = "--disable-scrollkeeper"
do_configure_prepend () {
- cp ${STAGING_DIR}/${HOST_SYS}/share/gnome-common/data/omf.make ${S}
+ cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
}
FILES_${PN} += "${datadir}/gnome-about"
DEPENDS = "gnome-common libgnomeui"
-EXTRA_AUTORECONF = "-I ${STAGING_DIR}/${HOST_SYS}/share/aclocal/gnome2-macros"
+EXTRA_AUTORECONF = "-I ${STAGING_DATADIR}/aclocal/gnome2-macros"
do_configure_prepend () {
- cp ${STAGING_DIR}/${HOST_SYS}/share/gnome-common/data/omf.make ${S}
+ cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}
}
do_stage () {
SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/gnutls-${PV}.tar.bz2 \
file://gnutls-openssl.patch;patch=1 \
- file://gnutls-texinfo-euro.patch;patch=1"
+ file://gnutls-texinfo-euro.patch;patch=1 \
+ file://configure_madness.patch;patch=1 "
inherit autotools binconfig pkgconfig
--- /dev/null
+Index: gnutls-1.6.3/configure.in
+===================================================================
+--- gnutls-1.6.3.orig/configure.in 2007-05-25 12:28:59.000000000 +0000
++++ gnutls-1.6.3/configure.in 2007-11-13 17:53:23.000000000 +0000
+@@ -574,13 +574,13 @@
+ AC_LIBTOOL_WIN32_DLL
+ AC_PROG_LIBTOOL
+
+-LIBGNUTLS_LIBS="-L${libdir} -lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS"
+-LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS -I${includedir}"
++LIBGNUTLS_LIBS="-lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS"
++LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS"
+ AC_SUBST(LIBGNUTLS_LIBS)
+ AC_SUBST(LIBGNUTLS_CFLAGS)
+
+-LIBGNUTLS_EXTRA_LIBS="-L${libdir} -lgnutls-extra $LIBOPENCDK_LIBS $LZO_LIBS $LIBGNUTLS_LIBS"
+-LIBGNUTLS_EXTRA_CFLAGS="$LIBOPENCDK_CFLAGS -I${includedir}"
++LIBGNUTLS_EXTRA_LIBS="-lgnutls-extra $LIBOPENCDK_LIBS $LZO_LIBS $LIBGNUTLS_LIBS"
++LIBGNUTLS_EXTRA_CFLAGS="$LIBOPENCDK_CFLAGS"
+ AC_SUBST(LIBGNUTLS_EXTRA_LIBS)
+ AC_SUBST(LIBGNUTLS_EXTRA_CFLAGS)
+ export ac_full
require gnutls.inc
-PR = "r2"
+PR = "r3"
EXTRA_OECONF = "--disable-schemas-install"
do_configure_prepend () {
- cp ${STAGING_DIR}/${HOST_SYS}/share/gnome-common/data/omf.make ${S}/help
+ cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}/help
}
file://desktop.patch;patch=1"
do_configure_prepend () {
- cp ${STAGING_DIR}/${HOST_SYS}/share/gnome-common/data/omf.make ${S}/help
+ cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}/help
}
SRC_URI += "file://aclocal-lossage.patch;patch=1"
do_configure_prepend () {
- cp ${STAGING_DIR}/${HOST_SYS}/share/gnome-common/data/omf.make ${S}/help
+ cp ${STAGING_DATADIR}/gnome-common/data/omf.make ${S}/help
}
PROVIDES += "gsmd"
RPROVIDES_${PN} = "libgsmd0 libgsmd gsmd gsmd-devel"
PV = "0.1+svnr${SRCREV}"
-PR = "r38"
+PR = "r39"
SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \
file://gsmd \
${BASEPN}-plugin-vendor-tihtc \
"
+ALLOW_EMPTY_${BASEPN}-plugin-machine-gta01 = "1"
+
RDEPENDS_${BASEPN}-plugins = "\
${BASEPN}-plugin-machine-generic \
${BASEPN}-plugin-machine-tihtc \
}
do_stage() {
-# oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
+# oe_libinstall -C gdk-pixbuf -so libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
cd gdk-pixbuf && oe_runmake install DESTDIR=${STAGING_DIR}/usr
autotools_stage_includes
# install -d -m 0755 ${STAGING_LIBDIR}/gtk-2.0/include
}
do_install() {
- cd gdk-pixbuf
+ :
}
# override the function in gtk-*.inc (included by gtk+*.bb)
PROVIDES = "gtk+"
RPROVIDES_${PN} = "gtk+"
-PR = "r0"
+PR = "r1"
SRC_URI += "file://lower-quality-scaling-in-pixbuf-engine.patch;patch=1"
immodules_root = os.path.join(gtk_libdir, 'immodules')
printmodules_root = os.path.join(gtk_libdir, 'printbackends');
-# do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', prologue + 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders')
-# do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules')
-# do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s')
+ do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', prologue + 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders')
+ do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules')
+ do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s')
if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
d root root 0755 /var/lock/subsys none
f root root 0664 /var/log/wtmp none
f root root 0664 /var/run/utmp none
+l root root 0644 /etc/resolv.conf /var/run/resolv.conf
+f root root 0644 /var/run/resolv.conf none
+
DEPENDS = "makedevs"
RDEPENDS = "makedevs"
LICENSE = "GPL"
-PR = "r102"
+PR = "r103"
SRC_URI = "file://functions \
file://halt \
+++ /dev/null
-DESCRIPTION = "Meta package for SDK including GPE"
-LICENSE = "MIT"
-DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native sed-native"
-PR = "r1"
-
-inherit rootfs_ipk sdk meta
-
-SDK_DIR = "${WORKDIR}/sdk"
-SDK_OUTPUT = "${SDK_DIR}/image"
-SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
-
-IPKG_HOST = "ipkg-cl -f ${SDK_DIR}/ipkg-host.conf -o ${SDK_OUTPUT}"
-IPKG_TARGET = "ipkg-cl -f ${SDK_DIR}/ipkg-target.conf -o ${SDK_OUTPUT}/${prefix}"
-
-HOST_INSTALL = "\
- binutils-cross-sdk \
- gcc-cross-sdk \
- gdb-cross"
-
-TARGET_INSTALL = "\
- task-sdk-base \
- task-sdk-x11 \
- task-sdk-x11-ext \
- task-sdk-gpe \
- task-sdk-gpephone"
-
-RDEPENDS = "${TARGET_INSTALL} ${HOST_INSTALL}"
-
-do_populate_sdk() {
- set -ex
- package_update_index_ipk
- set +ex
-
- rm -rf ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}
-
- priority=1
- for arch in $ipkgarchs; do
- echo "arch $arch $priority" >> ${SDK_DIR}/ipkg-target.conf
- echo "arch ${BUILD_ARCH}-$arch-sdk $priority" >> ${SDK_DIR}/ipkg-host.conf
- priority=$(expr $priority + 5)
- if [ -e ${DEPLOY_DIR_IPK}/$arch/Packages ] ; then
- echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${SDK_DIR}/ipkg-target.conf
- fi
- if [ -e ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages ] ; then
- echo "src oe-$arch-sdk file:${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk" >> ${SDK_DIR}/ipkg-host.conf
- fi
- done
-
- rm -rf ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}
-
- ${IPKG_HOST} update
- ${IPKG_HOST} -nodeps install ${HOST_INSTALL}
-
- ${IPKG_TARGET} update
- ${IPKG_TARGET} install ${TARGET_INSTALL}
-
- mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}
- cp -pPR ${SDK_OUTPUT}/${prefix}/usr/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}
- rm -rf ${SDK_OUTPUT}/${prefix}/usr/
-
- cp -pPR ${SDK_OUTPUT}/${prefix}/lib/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib
- rm -rf ${SDK_OUTPUT}/${prefix}/lib/*
-
- mv ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/gcc* ${SDK_OUTPUT}/${prefix}/lib
-
- cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/linux/ ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
- cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/asm/ ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
- chmod -R a+r ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
- find ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/ -type d | xargs chmod +x
-
- echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libpthread.so
- echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libc.so
- # remove unwanted housekeeping files
- mv ${SDK_OUTPUT}${libdir}/../${TARGET_SYS}/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
- rm -rf ${SDK_OUTPUT}${libdir}/ipkg
-
- # remove unwanted executables
- rm -rf ${SDK_OUTPUT}/${prefix}/sbin ${SDK_OUTPUT}/${prefix}/etc
-
- # remove broken .la files
- rm ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/*.la
-
- # fix pkgconfig data files
- cd ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/pkgconfig
- for f in *.pc ; do
- sed -i 's%=/usr%=${prefix}/${TARGET_SYS}%g' "$f"
- done
- for f in *.pc ; do
- sed -i 's%${STAGING_DIR}%/usr/local/${TARGET_ARCH}/oe%g' "$f"
- done
-
- mkdir -p ${SDK_DEPLOY}
- cd ${SDK_OUTPUT}
- fakeroot tar cfj ${SDK_DEPLOY}/${DISTRO}-${DISTRO_VERSION}-${TARGET_ARCH}-oe-sdk-${DATE}.tar.bz2 .
-}
-
-do_populate_sdk[nostamp] = "1"
-do_populate_sdk[recrdeptask] = "do_package_write"
-addtask populate_sdk before do_package_write after do_install
+++ /dev/null
-DESCRIPTION = "Meta package for a Scratchbox GPE SDK"
-LICENSE = "MIT"
-PACKAGES = ""
-PR = "r0"
-
-inherit rootfs_ipk sdk meta
-
-SDK_DIR = "${WORKDIR}/sdk"
-SDK_OUTPUT = "${SDK_DIR}/image"
-SDK_DEPLOY = "${DEPLOY_DIR}/sdk"
-prefix = "/"
-exec_prefix = "${prefix}"
-base_prefix = "${exec_prefix}"
-FILES_${PN} = "${prefix}"
-
-TARGET_INSTALL = "\
- task-sdk-base \
- task-sdk-sbox \
- task-sdk-sbox-gpe \
- task-sdk-x11 \
- task-sdk-x11-ext \
- task-sdk-gpe \
- task-sdk-gpephone"
-
-DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native sed-native"
-RDEPENDS = "${TARGET_INSTALL}"
-
-
-IPKG_TARGET = "ipkg-cl -f ${SDK_DIR}/ipkg-target.conf -o ${SDK_OUTPUT}/${prefix}"
-
-do_populate_sdk() {
- set -ex
- package_update_index_ipk
- set +ex
-
- rm -rf ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}
-
- cat <<EOF >${SDK_DIR}/ipkg-target.conf
-src oe file:${DEPLOY_DIR_IPK}
-EOF
- ipkgarchs="${PACKAGE_ARCHS}"
- priority=1
- for arch in $ipkgarchs; do
- echo "arch $arch $priority" >> ${SDK_DIR}/ipkg-target.conf
- priority=$(expr $priority + 5)
- if [ -e ${DEPLOY_DIR_IPK}/$arch/Packages ] ; then
- echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${SDK_DIR}/ipkg-target.conf
- fi
- done
-
- rm -r ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}
-
- ${IPKG_TARGET} update
- ${IPKG_TARGET} install ${TARGET_INSTALL}
-
- mkdir -p ${SDK_OUTPUT}/${prefix}/usr/include
- #cp -pPR ${SDK_OUTPUT}/${prefix}/usr/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}
- #rm -rf ${SDK_OUTPUT}/${prefix}/usr/
-
- #cp -pPR ${SDK_OUTPUT}/${prefix}/lib/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib
- #rm -rf ${SDK_OUTPUT}/${prefix}/lib/*
-
- cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/linux/ ${SDK_OUTPUT}/${prefix}/usr/include/
- cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/asm/ ${SDK_OUTPUT}/${prefix}/usr/include/
- chmod -R a+r ${SDK_OUTPUT}/${prefix}/usr/include/
- find ${SDK_OUTPUT}/${prefix}/usr/include/ -type d | xargs chmod +x
-
- echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/lib/libpthread.so
- echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/lib/libc.so
- # remove unwanted housekeeping files
- mv ${SDK_OUTPUT}${libdir}/../*/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
- rm -rf ${SDK_OUTPUT}${libdir}/ipkg
-
- # remove unwanted executables
- rm -rf ${SDK_OUTPUT}/${prefix}/sbin ${SDK_OUTPUT}/${prefix}/etc
-
- # fixup libtool files
- rm ${SDK_OUTPUT}/${prefix}/usr/lib/*.la
- #cd ${SDK_OUTPUT}/${prefix}/usr/lib/
- #for f in *.la ; do
- # sed -i 's%${STAGING_DIR}/${TARGET_SYS}%/usr/%g' "$f"
- #done
-
-
- # fix pkgconfig data files
- cd ${SDK_OUTPUT}/${prefix}/usr/lib/pkgconfig
- for f in *.pc ; do
- sed -i 's%${STAGING_DIR}%/usr/%g' "$f"
- done
-
- mkdir -p ${SDK_DEPLOY}
- cd ${SDK_OUTPUT}
- fakeroot tar cfz ${SDK_DEPLOY}/sbox-gpesdk-${DISTRO}-${DISTRO_VERSION}-${TARGET_ARCH}.tar.gz .
-}
-
-do_populate_sdk[nostamp] = "1"
-do_populate_sdk[recrdeptask] = "do_package_write"
-addtask populate_sdk before do_build after do_install
+++ /dev/null
-DESCRIPTION = "Meta package for a Scratchbox SDK"
-LICENSE = "MIT"
-PACKAGES = ""
-PR = "r6"
-
-inherit rootfs_ipk sdk meta
-
-SDK_DIR = "${WORKDIR}/sdk"
-SDK_OUTPUT = "${SDK_DIR}/image"
-SDK_DEPLOY = "${DEPLOY_DIR}/sdk"
-prefix = "/"
-exec_prefix = "${prefix}"
-base_prefix = "${exec_prefix}"
-FILES_${PN} = "${prefix}"
-
-TARGET_INSTALL = "\
- task-sdk-bare \
- task-sdk-sbox \
- "
-
-DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native sed-native"
-RDEPENDS = "${TARGET_INSTALL}"
-
-
-IPKG_TARGET = "ipkg-cl -f ${SDK_DIR}/ipkg-target.conf -o ${SDK_OUTPUT}/${prefix}"
-
-do_populate_sdk() {
- set -ex
- package_update_index_ipk
- set +ex
-
- rm -rf ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}
-
- cat <<EOF >${SDK_DIR}/ipkg-target.conf
-src oe file:${DEPLOY_DIR_IPK}
-EOF
- ipkgarchs="${PACKAGE_ARCHS}"
- priority=1
- for arch in $ipkgarchs; do
- echo "arch $arch $priority" >> ${SDK_DIR}/ipkg-target.conf
- priority=$(expr $priority + 5)
- if [ -e ${DEPLOY_DIR_IPK}/$arch/Packages ] ; then
- echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${SDK_DIR}/ipkg-target.conf
- fi
- done
-
- rm -r ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}
-
- ${IPKG_TARGET} update
- ${IPKG_TARGET} install ${TARGET_INSTALL}
-
- mkdir -p ${SDK_OUTPUT}/${prefix}/usr/include
- #cp -pPR ${SDK_OUTPUT}/${prefix}/usr/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}
- #rm -rf ${SDK_OUTPUT}/${prefix}/usr/
-
- #cp -pPR ${SDK_OUTPUT}/${prefix}/lib/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib
- #rm -rf ${SDK_OUTPUT}/${prefix}/lib/*
-
- cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/linux/ ${SDK_OUTPUT}/${prefix}/usr/include/
- cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/asm/ ${SDK_OUTPUT}/${prefix}/usr/include/
- chmod -R a+r ${SDK_OUTPUT}/${prefix}/usr/include/
- find ${SDK_OUTPUT}/${prefix}/usr/include/ -type d | xargs chmod +x
-
- echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/lib/libpthread.so
- echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/lib/libc.so
- # remove unwanted housekeeping files
- mv ${SDK_OUTPUT}${libdir}/../*/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
- rm -rf ${SDK_OUTPUT}${libdir}/ipkg
-
- # remove unwanted executables
- rm -rf ${SDK_OUTPUT}/${prefix}/sbin ${SDK_OUTPUT}/${prefix}/etc
-
- # fixup libtool files
- rm ${SDK_OUTPUT}/${prefix}/usr/lib/*.la
- #cd ${SDK_OUTPUT}/${prefix}/usr/lib/
- #for f in *.la ; do
- # sed -i 's%${STAGING_DIR}/${TARGET_SYS}%/usr/%g' "$f"
- #done
-
-
- # fix pkgconfig data files
- cd ${SDK_OUTPUT}/${prefix}/usr/lib/pkgconfig
- for f in *.pc ; do
- sed -i 's%${STAGING_DIR}%/usr/%g' "$f"
- done
-
- mkdir -p ${SDK_DEPLOY}
- cd ${SDK_OUTPUT}
- fakeroot tar cfz ${SDK_DEPLOY}/${DISTRO}-${DISTRO_VERSION}-${TARGET_ARCH}-sbox-sdk-${DATE}.tar.gz .
-}
-
-do_populate_sdk[nostamp] = "1"
-do_populate_sdk[recrdeptask] = "do_package_write"
-addtask populate_sdk before do_build after do_install
+++ /dev/null
-DESCRIPTION = "Meta package for bare SDK package"
-LICENSE = "MIT"
-DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native sed-native"
-PR = "r14"
-
-inherit rootfs_ipk sdk meta
-
-SDK_DIR = "${WORKDIR}/sdk"
-SDK_OUTPUT = "${SDK_DIR}/image"
-SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
-
-IPKG_HOST = "ipkg-cl -f ${SDK_DIR}/ipkg-host.conf -o ${SDK_OUTPUT}"
-IPKG_TARGET = "ipkg-cl -f ${SDK_DIR}/ipkg-target.conf -o ${SDK_OUTPUT}/${prefix}"
-
-HOST_INSTALL = "\
- binutils-cross-sdk \
- gcc-cross-sdk \
- gdb-cross"
-
-TARGET_INSTALL = "\
- task-sdk-bare \
- "
-
-RDEPENDS = "${TARGET_INSTALL} ${HOST_INSTALL}"
-
-do_populate_sdk() {
- set -ex
- package_update_index_ipk
- set +ex
-
- echo "Creating host.conf..."
-
- rm -rf ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}
-
- priority=1
- for arch in $ipkgarchs; do
- echo "arch $arch $priority" >> ${SDK_DIR}/ipkg-target.conf
- echo "arch ${BUILD_ARCH}-$arch-sdk $priority" >> ${SDK_DIR}/ipkg-host.conf
- priority=$(expr $priority + 5)
- if [ -e ${DEPLOY_DIR_IPK}/$arch/Packages ] ; then
- echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${SDK_DIR}/ipkg-target.conf
- fi
- if [ -e ${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk/Packages ] ; then
- echo "src oe-$arch-sdk file:${DEPLOY_DIR_IPK}/${BUILD_ARCH}-$arch-sdk" >> ${SDK_DIR}/ipkg-host.conf
- fi
- done
-
- rm -r ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}
-
- ${IPKG_HOST} update
- ${IPKG_HOST} -nodeps install ${HOST_INSTALL}
-
- ${IPKG_TARGET} update
- ${IPKG_TARGET} install ${TARGET_INSTALL}
-
- mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}
- cp -pPR ${SDK_OUTPUT}/${prefix}/usr/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}
- rm -rf ${SDK_OUTPUT}/${prefix}/usr/
-
- cp -pPR ${SDK_OUTPUT}/${prefix}/lib/* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib
- rm -rf ${SDK_OUTPUT}/${prefix}/lib/*
-
- mv ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/gcc* ${SDK_OUTPUT}/${prefix}/lib
-
- cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/linux/ ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
- cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/asm/ ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
- chmod -R a+r ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
- find ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/ -type d | xargs chmod +x
-
- echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libpthread.so
- echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libc.so
- # remove unwanted housekeeping files
- mv ${SDK_OUTPUT}${libdir}/../${TARGET_SYS}/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
- rm -rf ${SDK_OUTPUT}${libdir}/ipkg
-
- # remove unwanted executables
- rm -rf ${SDK_OUTPUT}/${prefix}/sbin ${SDK_OUTPUT}/${prefix}/etc
-
- # remove broken .la files
- rm ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/*.la
-
- # fix pkgconfig data files
- cd ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/pkgconfig
- for f in *.pc ; do
- sed -i 's%=/usr%=${prefix}/${TARGET_SYS}%g' "$f"
- done
- for f in *.pc ; do
- sed -i 's%${STAGING_DIR}%/usr/local/${TARGET_ARCH}/oe%g' "$f"
- done
-
- mkdir -p ${SDK_DEPLOY}
- cd ${SDK_OUTPUT}
- fakeroot tar cfj ${SDK_DEPLOY}/${DISTRO}-${DISTRO_VERSION}-${TARGET_ARCH}-oe-sdk-${DATE}.tar.bz2 .
-}
-
-do_populate_sdk[nostamp] = "1"
-do_populate_sdk[recrdeptask] = "do_package_write"
-addtask populate_sdk before do_build after do_install
--- /dev/null
+TOOLCHAIN_TARGET_TASK = "\
+ task-sdk-base \
+ task-sdk-sbox \
+ task-sdk-sbox-gpe \
+ task-sdk-x11 \
+ task-sdk-x11-ext \
+ task-sdk-gpe \
+ task-sdk-gpephone"
+
+require meta-toolchain.bb
+
--- /dev/null
+TOOLCHAIN_TARGET_TASK = "\
+ task-sdk-base \
+ task-sdk-x11 \
+ task-sdk-x11-ext \
+ task-sdk-gpe \
+ task-sdk-gpephone"
+
+require meta-toolchain.bb
+
TOOLCHAIN_TARGET_TASK = "task-toolchain-openmoko-sdk"
-RDEPENDS = "${TOOLCHAIN_TARGET_TASK}"
require meta-toolchain.bb
--- /dev/null
+TOOLCHAIN_TARGET_TASK = "\
+ task-sdk-bare \
+ task-sdk-sbox"
+
+require meta-toolchain.bb
+
fi
done
- mv ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/gcc* ${SDK_OUTPUT}/${prefix}/lib
-
- cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/linux/ ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
- cp -pPR ${TMPDIR}/cross/${TARGET_SYS}/include/asm/ ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
- chmod -R a+r ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/
- find ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/include/ -type d | xargs chmod +x
+ mv ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/gcc ${SDK_OUTPUT}/${prefix}/lib
echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libpthread.so
echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libc.so
# remove unwanted housekeeping files
- mv ${SDK_OUTPUT}${libdir}/../${TARGET_SYS}/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
- rm -Rf ${SDK_OUTPUT}${libdir}/ipkg
+ mv ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
+ rm -Rf ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/ipkg
mv ${SDK_OUTPUT}/usr/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status-host
rm -Rf ${SDK_OUTPUT}/usr/lib
mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/shlibs/
for pkg in $target_pkgs ; do
for arch in $revipkgarchs; do
- if [ -e ${DEPLOY_DIR_IPK}/${pkg}_*_$arch.ipk ]; then
- echo "Found ${DEPLOY_DIR_IPK}/${pkg}_$arch.ipk"
- cp ${DEPLOY_DIR_IPK}/${pkg}_*_$arch.ipk ${SDK_OUTPUT}/${prefix}/ipk/
- orig_pkg=`ipkg-list-fields ${DEPLOY_DIR_IPK}/${pkg}_*_$arch.ipk | grep OE: | cut -d ' ' -f2`
+ if [ -e ${DEPLOY_DIR_IPK}/$arch/${pkg}_*_$arch.ipk ]; then
+ echo "Found ${DEPLOY_DIR_IPK}/$arch/${pkg}_$arch.ipk"
+ cp ${DEPLOY_DIR_IPK}/$arch/${pkg}_*_$arch.ipk ${SDK_OUTPUT}/${prefix}/ipk/
+ orig_pkg=`ipkg-list-fields ${DEPLOY_DIR_IPK}/$arch/${pkg}_*_$arch.ipk | grep OE: | cut -d ' ' -f2`
pkg_subdir=$arch${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}
mkdir -p ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/runtime
cp ${STAGING_DIR}/pkgdata/$pkg_subdir/$orig_pkg ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/
if [ -e ${STAGING_DIR}/pkgmaps/debian/$subpkg ]; then
cp ${STAGING_DIR}/pkgmaps/debian/$subpkg ${SDK_OUTPUT}/${prefix}/pkgmaps/debian/
fi
- if [ -e ${STAGING_DIR}/${TARGET_SYS}/shlibs/$subpkg.list ]; then
- cp ${STAGING_DIR}/${TARGET_SYS}/shlibs/$subpkg.* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/shlibs/
+ if [ -e ${STAGING_DIR_TARGET}/shlibs/$subpkg.list ]; then
+ cp ${STAGING_DIR_TARGET}/shlibs/$subpkg.* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/shlibs/
fi
done
break
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.200
+ up echo nameserver 192.168.0.200 >/etc/resolv.conf
# Bluetooth networking
iface bnep0 inet dhcp
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.200
+ up echo nameserver 192.168.0.200 >/etc/resolv.conf
# Bluetooth networking
iface bnep0 inet dhcp
infrastructure for basic TCP/IP based networking."
SECTION = "base"
LICENSE = "GPL"
-PR = "r23"
+PR = "r24"
inherit update-rc.d
prog="pulseaudio"
start() {
- echo -n "Starting the audio server..."
+ echo -n "Starting audio server: "
# FIXME once alsa/shm permissions have been fixed, supply --system
- pulseaudio --resample-method=trivial -D -nF /etc/pulse/session
- echo $prog
+ start-stop-daemon -S -x /usr/bin/pulseaudio -- --no-cpu-limit --resample-method=trivial -D -nF /etc/pulse/session
+
+ if [ $? = 0 ]; then
+ echo "$prog (warning ignores)." # FIXME remove comment on warning
+ else
+ echo "(failed.)"
+ fi
}
stop() {
- # Stop daemons.
- echo -n "Shutting down $prog: "
- killall pulseaudio
- echo "done"
+ echo -n "Stopping audio server: "
+ start-stop-daemon -K -x /usr/bin/pulseaudio
+ echo "pulseaudio."
}
# See how we were called.
"
RREPLACES = "openmoko-sound-system"
RPROVIDES = "openmoko-sound-system"
-PR = "r3"
+PR = "r4"
inherit openmoko-base update-rc.d
--- /dev/null
+--- /tmp/Makefile.am 2007-03-01 13:29:37.000000000 +0100
++++ pango-1.16.0/Makefile.am 2007-03-01 13:29:52.545251000 +0100
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to create Makefile.in.
+
+-SUBDIRS= pango modules pango-view examples docs tools tests
++SUBDIRS= pango modules pango-view examples docs tools
+
+ EXTRA_DIST = \
+ autogen.sh \
--- /dev/null
+require pango.inc
+
+DEFAULT_PREFERENCE = "-1"
+
DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
-PR = "r44"
+PR = "r45"
inherit task
+++ /dev/null
-#!/bin/sh
-
-
-DATAPATH=$1
-TMPPATH=/tmp/update
-TMPDATA=$TMPPATH/tmpdata.bin
-TMPHEAD=$TMPPATH/tmphead.bin
-
-WFLG_KERNEL=0
-WFLG_INITRD=0
-WFLG_MVERSION=0
-
-RO_MTD_LINE=`cat /proc/mtd | grep "root" | tail -n 1`
-if [ "$RO_MTD_LINE" = "" ]; then
- RO_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
-fi
-RO_MTD_NO=`echo $RO_MTD_LINE | cut -d: -f1 | cut -dd -f2`
-RO_MTD_SIZE_HEX=`echo $RO_MTD_LINE | cut -d" " -f2`
-RO_MTD=/dev/mtd$RO_MTD_NO
-RO_MTDBLK=/dev/mtdblock$RO_MTD_NO
-RO_MTD_SIZE=`dc 0x$RO_MTD_SIZE_HEX 1024 /`
-
-RW_MTD_LINE=`cat /proc/mtd | grep "home" | tail -n 1`
-if [ "$RW_MTD_LINE" = "" ]; then
- RW_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
-fi
-RW_MTD_NO=`echo $RW_MTD_LINE | cut -d: -f1 | cut -dd -f2`
-RW_MTD_SIZE_HEX=`echo $RW_MTD_LINE | cut -d" " -f2`
-RW_MTD=/dev/mtd$RW_MTD_NO
-RW_MTDBLK=/dev/mtdblock$RW_MTD_NO
-RW_MTD_SIZE=`dc 0x$RW_MTD_SIZE_HEX 1024 /`
-
-LOGOCAL_MTD=/dev/mtd1
-
-VERBLOCK=0x48000
-MVRBLOCK=0x70000
-
-RESULT=0
-
-Cleanup(){
- rm -f $VTMPNAME > /dev/null 2>&1
- rm -f $MTMPNAME > /dev/null 2>&1
- rm $CTRLPATH/* > /dev/null 2>&1
- rm $DATAPATH/* > /dev/null 2>&1
- exit $1
-}
-trap 'Cleanup 1' 1 15
-trap '' 2 3
-
-
-### Check model ###
-/sbin/writerominfo
-MODEL=`cat /proc/deviceinfo/product`
-echo 'MODEL:'$MODEL
-case "$MODEL" in
- SL-7500) ;;
- SL-C700) ;;
- SL-C750) ;;
- SL-C760) ;;
- SL-C860) ;;
- SL-B500) ;;
- SL-5600) ;;
- *)
- echo 'ERROR:Invalid model!'
- echo 'Please reset'
- while true
- do
- done
- ;;
-esac
-
-mkdir -p $TMPPATH > /dev/null 2>&1
-
-cd $DATAPATH/
-
-for TARGETFILE in zImage.bin zimage.bin ZIMAGE.BIN initrd.bin INITRD.BIN mversion.bin MVERSION.BIN
-do
- if [ -e $TARGETFILE ]
- then
- rm -f $TMPPATH/*.bin > /dev/null 2>&1
- DATASIZE=`wc -c $TARGETFILE`
- DATASIZE=`echo $DATASIZE | cut -d' ' -f1`
-
- #echo $TARGETFILE':'$DATASIZE'bytes'
- TARGETTYPE=Invalid
- case "$TARGETFILE" in
- zImage.bin) TARGETTYPE=Kernel;;
- zimage.bin) TARGETTYPE=Kernel;;
- ZIMAGE.BIN) TARGETTYPE=Kernel;;
- initrd.bin) TARGETTYPE=RoFs;;
- INITRD.BIN) TARGETTYPE=RoFs;;
- mversion.bin) TARGETTYPE=MasterVer;;
- MVERSION.BIN) TARGETTYPE=MasterVer;;
- *)
- continue
- ;;
- esac
-
- case "$TARGETTYPE" in
- Kernel)
- if [ $WFLG_KERNEL != 0 ]
- then
- continue
- fi
- WFLG_KERNEL=1
- echo 'kernel'
- ISLOGICAL=1
- MODULEID=5
- MODULESIZE=0x13C000
- ADDR=`dc 0xE0000`
- ISFORMATTED=1
- DATAPOS=0
- ONESIZE=524288
- HDTOP=`expr $DATASIZE - 16`
- /sbin/bcut -a $HDTOP -s 16 -o $TMPHEAD $TARGETFILE
- ;;
- RoFs)
- if [ $WFLG_INITRD != 0 ]
- then
- continue
- fi
- WFLG_INITRD=1
- echo 'RO file system'
- ISLOGICAL=0
- MODULEID=6
- MODULESIZE=0x1900000
- ADDR=0
- ISFORMATTED=0
- TARGET_MTD=$RO_MTD
- DATAPOS=16
- ONESIZE=1048576
- /sbin/bcut -s 16 -o $TMPHEAD $TARGETFILE
- ;;
- MasterVer)
- if [ $WFLG_MVERSION != 0 ]
- then
- continue
- fi
- WFLG_MVERSION=1
- echo 'Master version'
- MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
- /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
- /sbin/verchg -m $MTMPNAME $TARGETFILE 0 0 > /dev/null 2>&1
- /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
- rm -f $MTMPNAME > /dev/null 2>&1
- echo 'Success!'
- continue
- ;;
- *)
- continue
- ;;
- esac
-
-
- #format?
- if [ $ISFORMATTED = 0 ]
- then
- echo -n 'Flash erasing...'
- /sbin/eraseall $TARGET_MTD 2> /dev/null > /dev/null
- #/sbin/eraseall $TARGET_MTD 2
- echo 'done'
- ISFORMATTED=1
- fi
-
- echo ''
- echo '0% 100%'
- PROGSTEP=`expr $DATASIZE / $ONESIZE + 1`
- PROGSTEP=`expr 25 / $PROGSTEP`
- if [ $PROGSTEP = 0 ]
- then
- PROGSTEP=1
- fi
-
- #00 means header information
- VTMPNAME=$TMPPATH'/vtmp'`date '+%s'`'.tmp'
- MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
- /sbin/nandlogical $LOGOCAL_MTD READ $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
- /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
-
- #echo 'found header'
- /sbin/verchg -v $VTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
- /sbin/verchg -m $MTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
-
- #loop
- while [ $DATAPOS -lt $DATASIZE ]
- do
- #data create
- bcut -a $DATAPOS -s $ONESIZE -o $TMPDATA $TARGETFILE
- TMPSIZE=`wc -c $TMPDATA`
- TMPSIZE=`echo $TMPSIZE | cut -d' ' -f1`
- DATAPOS=`expr $DATAPOS + $TMPSIZE`
-
- #handle data file
- #echo 'ADDR='$ADDR
- #echo 'SIZE='$TMPSIZE
- if [ $ISLOGICAL = 0 ]
- then
- next_addr=`/sbin/nandcp -a $ADDR $TMPDATA $TARGET_MTD 2>/dev/null | fgrep "mtd address" | cut -d- -f2 | cut -d\( -f1`
- if [ "$next_addr" = "" ]; then
- echo "ERROR:flash write"
- rm $TMPDATA > /dev/null 2>&1
- RESULT=3
- break;
- fi
- ADDR=$next_addr
- else
- /sbin/nandlogical $LOGOCAL_MTD WRITE $ADDR $DATASIZE $TMPDATA > /dev/null 2>&1
- ADDR=`expr $ADDR + $TMPSIZE`
- fi
-
- rm $TMPDATA > /dev/null 2>&1
-
- #progress
- SPNUM=0
- while [ $SPNUM -lt $PROGSTEP ]
- do
- echo -n '.'
- SPNUM=`expr $SPNUM + 1`
- done
- done
-
- echo ''
-
-#finish
- rm -f $TMPPATH/*.bin > /dev/null 2>&1
-
- if [ $RESULT = 0 ]
- then
- /sbin/nandlogical $LOGOCAL_MTD WRITE $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
- /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
-
- rm -f $VTMPNAME > /dev/null 2>&1
- rm -f $MTMPNAME > /dev/null 2>&1
- echo 'Success!'
- else
- echo 'Error!'
- exit $RESULT
- fi
- fi
-done
-
-exit 0
+++ /dev/null
-#!/bin/sh
-
-
-DATAPATH=$1
-TMPPATH=/tmp/update
-TMPDATA=$TMPPATH/tmpdata.bin
-TMPHEAD=$TMPPATH/tmphead.bin
-
-
-RO_MTD_LINE=`cat /proc/mtd | grep "root" | tail -n 1`
-if [ "$RO_MTD_LINE" = "" ]; then
- RO_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
-fi
-RO_MTD_NO=`echo $RO_MTD_LINE | cut -d: -f1 | cut -dd -f2`
-RO_MTD_SIZE_HEX=`echo $RO_MTD_LINE | cut -d" " -f2`
-RO_MTD=/dev/mtd$RO_MTD_NO
-RO_MTDBLK=/dev/mtdblock$RO_MTD_NO
-RO_MTD_SIZE=`dc 0x$RO_MTD_SIZE_HEX 1024 /`
-
-RW_MTD_LINE=`cat /proc/mtd | grep "home" | tail -n 1`
-if [ "$RW_MTD_LINE" = "" ]; then
- RW_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
-fi
-RW_MTD_NO=`echo $RW_MTD_LINE | cut -d: -f1 | cut -dd -f2`
-RW_MTD_SIZE_HEX=`echo $RW_MTD_LINE | cut -d" " -f2`
-RW_MTD=/dev/mtd$RW_MTD_NO
-RW_MTDBLK=/dev/mtdblock$RW_MTD_NO
-RW_MTD_SIZE=`dc 0x$RW_MTD_SIZE_HEX 1024 /`
-
-LOGOCAL_MTD=/dev/mtd1
-
-VERBLOCK=0x48000
-MVRBLOCK=0x70000
-
-RESULT=0
-
-Cleanup(){
- rm -f $VTMPNAME > /dev/null 2>&1
- rm -f $MTMPNAME > /dev/null 2>&1
- rm $CTRLPATH/* > /dev/null 2>&1
- rm $DATAPATH/* > /dev/null 2>&1
- exit $1
-}
-trap 'Cleanup 1' 1 15
-trap '' 2 3
-
-
-### Check model ###
-/sbin/writerominfo
-MODEL=`cat /proc/deviceinfo/product`
-if [ "$MODEL" != "SL-6000" ] > /dev/null 2>&1
-then
- echo 'MODEL:'$MODEL
- echo 'ERROR:Invalid model!'
- echo 'Please reset'
- while true
- do
- done
-fi
-
-mkdir -p $TMPPATH > /dev/null 2>&1
-
-cd $DATAPATH/
-
-if [ -e consolescroll ]
-then
- ./consolescroll
-fi
-
-for TARGETFILE in zImage zImage.bin zimage.bin ZIMAGE ZIMAGE.BIN initrd.bin INITRD.BIN mversion.bin MVERSION.BIN
-do
- if [ -e $TARGETFILE ]
- then
- rm -f $TMPPATH/*.bin > /dev/null 2>&1
- DATASIZE=`wc -c $TARGETFILE`
- DATASIZE=`echo $DATASIZE | cut -d' ' -f1`
-
- #echo $TARGETFILE':'$DATASIZE'bytes'
- TARGETTYPE=Invalid
- case "$TARGETFILE" in
- zImage) TARGETTYPE=Kernel;;
- zimage.bin) TARGETTYPE=Kernel;;
- ZIMAGE) TARGETTYPE=Kernel;;
- initrd.bin) TARGETTYPE=RoFs;;
- INITRD.BIN) TARGETTYPE=RoFs;;
- mversion.bin) TARGETTYPE=MasterVer;;
- MVERSION.BIN) TARGETTYPE=MasterVer;;
- *)
- continue
- ;;
- esac
- case "$TARGETTYPE" in
- Kernel)
- echo 'kernel'
- ISLOGICAL=1
- MODULEID=5
- MODULESIZE=0x13C000
- ADDR=`dc 0xE0000`
- ISFORMATTED=1
- DATAPOS=0
- ONESIZE=524288
- HDTOP=`expr $DATASIZE - 16`
- /sbin/bcut -a $HDTOP -s 16 -o $TMPHEAD $TARGETFILE
- ;;
- RoFs)
- echo 'RO file system'
- ISLOGICAL=0
- MODULEID=6
- MODULESIZE=0x1E00000
- ADDR=0
- ISFORMATTED=0
- TARGET_MTD=$RO_MTD
- DATAPOS=16
- ONESIZE=1048576
- /sbin/bcut -s 16 -o $TMPHEAD $TARGETFILE
- ;;
- MasterVer)
- echo 'Maser version'
- MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
- /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
- /sbin/verchg -m $MTMPNAME $TARGETFILE 0 0 > /dev/null 2>&1
- /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
- rm -f $MTMPNAME > /dev/null 2>&1
- echo 'Success!'
- continue
- ;;
- *)
- continue;
- ;;
- esac
-
- #check version
- /sbin/bcut -s 6 -o $TMPDATA $TMPHEAD
- if [ `cat $TMPDATA` != "SHARP!" ] > /dev/null 2>&1
- then
- #no version info...
- rm -f $TMPHEAD > /dev/null 2>&1
- DATAPOS=0
- fi
-
- #format?
- if [ $ISFORMATTED = 0 ]
- then
- echo -n 'Flash erasing...'
- /sbin/eraseall $TARGET_MTD 2> /dev/null > /dev/null
- #/sbin/eraseall $TARGET_MTD 2
- echo 'done'
- ISFORMATTED=1
- fi
-
- echo ''
- echo '0% 100%'
- PROGSTEP=`expr $DATASIZE / $ONESIZE + 1`
- PROGSTEP=`expr 28 / $PROGSTEP`
- if [ $PROGSTEP = 0 ]
- then
- PROGSTEP=1
- fi
-
- #header information
- if [ -e $TMPHEAD ]
- then
- VTMPNAME=$TMPPATH'/vtmp'`date '+%s'`'.tmp'
- MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
- /sbin/nandlogical $LOGOCAL_MTD READ $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
- /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
-
- #echo 'found header'
- /sbin/verchg -v $VTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
- /sbin/verchg -m $MTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
- fi
-
- #loop
- while [ $DATAPOS -lt $DATASIZE ]
- do
- #data create
- bcut -a $DATAPOS -s $ONESIZE -o $TMPDATA $TARGETFILE
- TMPSIZE=`wc -c $TMPDATA`
- TMPSIZE=`echo $TMPSIZE | cut -d' ' -f1`
- DATAPOS=`expr $DATAPOS + $TMPSIZE`
-
- #handle data file
- #echo 'ADDR='$ADDR
- #echo 'SIZE='$TMPSIZE
- if [ $ISLOGICAL = 0 ]
- then
- next_addr=`/sbin/nandcp -a $ADDR $TMPDATA $TARGET_MTD 2>/dev/null | fgrep "mtd address" | cut -d- -f2 | cut -d\( -f1`
- if [ "$next_addr" = "" ]; then
- echo "ERROR:flash write"
- rm $TMPDATA > /dev/null 2>&1
- RESULT=3
- break;
- fi
- ADDR=$next_addr
- else
- /sbin/nandlogical $LOGOCAL_MTD WRITE $ADDR $DATASIZE $TMPDATA > /dev/null 2>&1
- ADDR=`expr $ADDR + $TMPSIZE`
- fi
-
- rm $TMPDATA > /dev/null 2>&1
-
- #progress
- SPNUM=0
- while [ $SPNUM -lt $PROGSTEP ]
- do
- echo -n '.'
- SPNUM=`expr $SPNUM + 1`
- done
- done
-
- echo ''
-
-#finish
- rm -f $TMPPATH/*.bin > /dev/null 2>&1
-
- if [ $RESULT = 0 ]
- then
- if [ -e $VTMPNAME ]
- then
- /sbin/nandlogical $LOGOCAL_MTD WRITE $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
- rm -f $VTMPNAME > /dev/null 2>&1
- fi
- if [ -e $MTMPNAME ]
- then
- /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
- rm -f $MTMPNAME > /dev/null 2>&1
- fi
- echo 'Success!'
- else
- echo 'Error!'
-# exit $RESULT
- fi
- fi
-done
-
-#exit 0
-
-echo 'Please reset'
-while true
-do
-done
DESCRIPTION = "Encrypted shellscript for the Zaurus ROM update"
DEPENDS = "encdec-updater-native"
LICENSE = "zaurus-updater"
-PR = "r7"
+PR = "r8"
PACKAGES = ""
PACKAGE_ARCH = "${MACHINE_ARCH}"
--- /dev/null
+#!/bin/sh
+
+#
+# One updater.sh to rule them all
+#
+# 2006.10.24 Marcin 'Hrw' Juszkiewicz
+# - started work on common updater.sh
+# - works on poodle, c760, spitz
+# - breaks on tosa
+#
+# 2007.10.08 Marcin 'Hrw' Juszkiewicz
+# - do not allow to flash files bigger then partition size
+# - created functions for common stuff
+#
+# 2007.11.18 Dmitry 'Lumag' Baryshkov
+# - fixes
+# - tosa unbreak
+#
+# 2007.11.19 Marcin 'Hrw' Juszkiewicz
+# - size check unbreak
+# - c760/c860 has bigger rootfs - use it
+#
+
+DATAPATH=$1
+TMPPATH=/tmp/update
+TMPDATA=$TMPPATH/tmpdata.bin
+TMPHEAD=$TMPPATH/tmphead.bin
+
+FLASHED_KERNEL=0
+FLASHED_ROOTFS=0
+UNPACKED_ROOTFS=0 # spitz only
+
+RO_MTD_LINE=`cat /proc/mtd | grep "root" | tail -n 1`
+if [ "$RO_MTD_LINE" = "" ]; then
+ RO_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
+fi
+RO_MTD_NO=`echo $RO_MTD_LINE | cut -d: -f1 | cut -dd -f2`
+RO_MTD_SIZE_HEX=`echo $RO_MTD_LINE | cut -d" " -f2`
+RO_MTD=/dev/mtd$RO_MTD_NO
+
+LOGOCAL_MTD=/dev/mtd1
+
+VERBLOCK=0x48000
+MVRBLOCK=0x70000
+
+RESULT=0
+
+Cleanup()
+{
+ rm -f $VTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ exit $1
+}
+
+trap 'Cleanup 1' 1 15
+trap '' 2 3
+
+get_dev_pcmcia()
+{
+ while read SOCKET CLASS DRIVER INSTANCE DEVS MAJOR MINOR;
+ do
+ echo $DEVS
+ done
+}
+
+get_dev_pcmcia_slot()
+{
+ grep "^$1" /var/lib/pcmcia/stab | get_dev_pcmcia
+}
+
+check_for_hdd()
+{
+ IDE1=`get_dev_pcmcia_slot 1`
+ if [ "$IDE1" = "" ]; then
+ echo "Error!! There is no microdrive. Retrying..."
+ while [ "$IDE1" = "" ]; do
+ IDE1=`get_dev_pcmcia_slot 1`
+ done
+ echo "Microdrive found."
+ fi
+
+ LINUXFMT=ext3
+ MKE2FSOPT=-j
+}
+
+check_for_tar()
+{
+ ### Check that we have a valid tar
+ for TARNAME in gnu-tar GNU-TAR
+ do
+ if [ -e $DATAPATH/$TARNAME ]
+ then
+ TARBIN=$DATAPATH/$TARNAME
+ fi
+ done
+
+ if [ ! -e $TARBIN ]; then
+ echo 'ERRROR: Please place a valid copy of tar as "gnu-tar" on your card.'
+ echo 'Please reset'
+ while true
+ do
+ done
+ fi
+}
+
+do_rootfs_extraction()
+{
+ UNPACKED_ROOTFS=1
+ echo 'HDD root file system'
+ if [ ! -f /hdd1/NotAvailable ]; then
+ umount /hdd1
+ fi
+ echo 'Now formatting...'
+ mke2fs $MKE2FSOPT /dev/${IDE1}1 > /dev/null 2>&1
+ e2fsck -p /dev/${IDE1}1 > /dev/null
+ if [ "$?" != "0" ]; then
+ echo "ERROR: Unable to create filesystem on microdrive!"
+ exit "$?"
+ fi
+
+ mount -t $LINUXFMT -o noatime /dev/${IDE1}1 /hdd1
+ if [ "$?" != "0" ]; then
+ echo "ERROR: Unable to mount microdrive!"
+ exit "$?"
+ fi
+
+ cd /hdd1
+ echo 'Now extracting...'
+ gzip -dc $DATAPATH/$TARGETFILE | $TARBIN xf -
+ if [ "$?" != "0" ]; then
+ echo "ERROR: Unable to extract root filesystem archive!"
+ exit "$?"
+ fi
+
+ echo 'Done.'
+
+ # remount as RO
+ cd /
+ umount /hdd1
+ mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}1 /hdd1
+}
+
+do_flashing()
+{
+ if [ $DATASIZE -gt `printf "%d" $MTD_PART_SIZE` ]
+ then
+ echo "ERROR: File is too big to flash!"
+ return
+ fi
+
+ #check version
+ /sbin/bcut -s 6 -o $TMPDATA $TMPHEAD
+ if [ `cat $TMPDATA` != "SHARP!" ] > /dev/null 2>&1
+ then
+ #no version info...
+ rm -f $TMPHEAD > /dev/null 2>&1
+ DATAPOS=0
+ fi
+
+ if [ $ISFORMATTED = 0 ]
+ then
+ echo -n 'Flash erasing...'
+ /sbin/eraseall $TARGET_MTD > /dev/null 2>&1
+ echo 'done'
+ ISFORMATTED=1
+ fi
+
+ echo ''
+ echo '0% 100%'
+ PROGSTEP=`expr $DATASIZE / $ONESIZE + 1`
+ PROGSTEP=`expr 25 / $PROGSTEP`
+ if [ $PROGSTEP = 0 ]
+ then
+ PROGSTEP=1
+ fi
+
+ if [ -e $TMPHEAD ]
+ then
+ VTMPNAME=$TMPPATH'/vtmp'`date '+%s'`'.tmp'
+ MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
+ /sbin/nandlogical $LOGOCAL_MTD READ $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+
+ /sbin/verchg -v $VTMPNAME $TMPHEAD $MODULEID $MTD_PART_SIZE > /dev/null 2>&1
+ /sbin/verchg -m $MTMPNAME $TMPHEAD $MODULEID $MTD_PART_SIZE > /dev/null 2>&1
+ fi
+
+ #loop
+ while [ $DATAPOS -lt $DATASIZE ]
+ do
+ #data create
+ bcut -a $DATAPOS -s $ONESIZE -o $TMPDATA $TARGETFILE
+ TMPSIZE=`wc -c $TMPDATA`
+ TMPSIZE=`echo $TMPSIZE | cut -d' ' -f1`
+ DATAPOS=`expr $DATAPOS + $TMPSIZE`
+
+ #handle data file
+ if [ $ISLOGICAL = 0 ]
+ then
+ next_addr=`/sbin/nandcp -a $ADDR $TMPDATA $TARGET_MTD 2>/dev/null | fgrep "mtd address" | cut -d- -f2 | cut -d\( -f1`
+ if [ "$next_addr" = "" ]; then
+ echo "ERROR: flash write"
+ rm $TMPDATA > /dev/null 2>&1
+ RESULT=3
+ break;
+ fi
+ ADDR=$next_addr
+ else
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $ADDR $DATASIZE $TMPDATA > /dev/null 2>&1
+ ADDR=`expr $ADDR + $TMPSIZE`
+ fi
+
+ rm $TMPDATA > /dev/null 2>&1
+
+ #progress
+ SPNUM=0
+ while [ $SPNUM -lt $PROGSTEP ]
+ do
+ echo -n '.'
+ SPNUM=`expr $SPNUM + 1`
+ done
+ done
+
+ echo ''
+
+ #finish
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+
+ if [ $RESULT = 0 ]
+ then
+ if [ -e $VTMPNAME ]
+ then
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ rm -f $VTMPNAME > /dev/null 2>&1
+ fi
+ if [ -e $MTMPNAME ]
+ then
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ fi
+ echo 'Done.'
+ else
+ echo 'Error!'
+ fi
+}
+
+### Check model ###
+/sbin/writerominfo
+MODEL=`cat /proc/deviceinfo/product`
+case "$MODEL" in
+ SL-B500|SL-5600)
+ ZAURUS='poodle'
+ ROOTFS_SIZE=0x1600000
+ ;;
+ SL-6000)
+ ZAURUS='tosa'
+ ROOTFS_SIZE=0x1E00000
+ ;;
+ SL-C1000)
+ ZAURUS='akita'
+ ROOTFS_SIZE=0x1900000
+ ;;
+ SL-C700|SL-C750|SL-7500)
+ ZAURUS='c7x0'
+ ROOTFS_SIZE=0x1900000
+ ;;
+ SL-C760|SL-C860)
+ ZAURUS='c7x0'
+ ROOTFS_SIZE=0x3500000
+ ;;
+ SL-C3000|SL-C3100|SL-C3200)
+ ZAURUS='c3x00'
+ ROOTFS_SIZE=0x0500000
+ check_for_hdd
+ check_for_tar
+ ;;
+ *)
+ echo 'MODEL: '$MODEL 'is unsupported'
+ echo ''
+ echo 'Please reset'
+ while true
+ do
+ done
+ ;;
+esac
+
+echo 'MODEL: '$MODEL' ('$ZAURUS')'
+
+mkdir -p $TMPPATH > /dev/null 2>&1
+
+cd $DATAPATH/
+
+for TARGETFILE in zimage zImage zImage.bin zimage.bin ZIMAGE ZIMAGE.BIN initrd.bin INITRD.BIN hdimage1.tgz HDIMAGE1.TGZ
+do
+ if [ ! -e $TARGETFILE ]
+ then
+ continue
+ fi
+
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+ DATASIZE=`wc -c $TARGETFILE`
+ DATASIZE=`echo $DATASIZE | cut -d' ' -f1`
+
+ # make TARGETFILE lowercase
+ TARGETFILE=`echo $TARGETFILE|tr A-Z a-z`
+
+ case "$TARGETFILE" in
+
+ zimage|zimage.bin)
+ if [ $FLASHED_KERNEL != 0 ]
+ then
+ continue
+ fi
+ echo 'kernel'
+ FLASHED_KERNEL=1
+ ISLOGICAL=1
+ MODULEID=5
+ MTD_PART_SIZE=0x13C000
+ ADDR=`dc 0xE0000`
+ ISFORMATTED=1
+ DATAPOS=0
+ ONESIZE=524288
+ HDTOP=`expr $DATASIZE - 16`
+ /sbin/bcut -a $HDTOP -s 16 -o $TMPHEAD $TARGETFILE
+ do_flashing
+ ;;
+
+ initrd.bin)
+ if [ $FLASHED_ROOTFS != 0 ]
+ then
+ continue
+ fi
+ echo 'root file system'
+ FLASHED_ROOTFS=1
+ ISLOGICAL=0
+ MODULEID=6
+ MTD_PART_SIZE=$ROOTFS_SIZE
+ ADDR=0
+ ISFORMATTED=0
+ TARGET_MTD=$RO_MTD
+ DATAPOS=16
+ ONESIZE=1048576
+ /sbin/bcut -s 16 -o $TMPHEAD $TARGETFILE
+ do_flashing
+ ;;
+
+ hdimage1.tgz)
+ if [ $UNPACKED_ROOTFS = 0 ]
+ then
+ do_rootfs_extraction
+ fi
+ ;;
+
+ *)
+ ;;
+ esac
+done
+
+# reboot
+exit 0
+
+# bcut usage: bcut [OPTION] <input file>
+
+# -a: start position
+# -s: cut size
+# -o: output file
+
+# ModuleId informations used by verchg Sharp binary:
+#
+# 0 - master
+# 1 - Maintaince
+# 2 - Diagnostics
+# 3 - rescue kernel
+# 4 - rescue rootfs
+# 5 - normal kernel
+# 6 - normal rootfs
+# 7 - /home/
+# 8 - parameter (whatever it means)
+#