diff options
27 files changed, 608 insertions, 172 deletions
diff --git a/classes/lsppchd-image.bbclass b/classes/lsppchd-image.bbclass new file mode 100644 index 0000000000..da280551d4 --- /dev/null +++ b/classes/lsppchd-image.bbclass @@ -0,0 +1 @@ +IMAGE_POSTPROCESS_COMMAND += "" diff --git a/classes/lsppchg-image.bbclass b/classes/lsppchg-image.bbclass new file mode 100644 index 0000000000..da280551d4 --- /dev/null +++ b/classes/lsppchg-image.bbclass @@ -0,0 +1 @@ +IMAGE_POSTPROCESS_COMMAND += "" diff --git a/classes/n2100-image.bbclass b/classes/n2100-image.bbclass new file mode 100644 index 0000000000..811b1d37b7 --- /dev/null +++ b/classes/n2100-image.bbclass @@ -0,0 +1,36 @@ +DEPENDS += "openssl-native" +EXTRA_IMAGECMD = "--little-endian" +ERASEBLOCK_SIZE = "0x20000" +IMAGE_FSTYPES = "jffs2" +IMAGE_POSTPROCESS_COMMAND += '${MACHINE}_pack_image;' + +n2100_pack_image() { + # find latest kernel + KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/zImage* | tail -1` + if [ -z "$KERNEL" ]; then + oefatal "No kernel found in ${DEPLOY_DIR_IMAGE}. Bitbake linux to create one." + exit 1 + fi + ROOTFS=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 + OUTPUT=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flash.img + PADFILE=${DEPLOY_DIR_IMAGE}/padfile.zzz + HEX_MAX_KERN_SIZE=1C0000 + DEC_MAX_KERN_SIZE=`echo "ibase=16; $HEX_MAX_KERN_SIZE" | bc ` + HEX_MAX_ROOT_SIZE=DC0000 + DEC_MAX_ROOT_SIZE=`echo "ibase=16; $HEX_MAX_ROOT_SIZE" | bc ` + KERNEL_SIZE=`ls -l $KERNEL | awk '{print $5}'` + if [ $KERNEL_SIZE -gt $DEC_MAX_KERN_SIZE ]; then + oefatal "Kernel too large at $KERNEL_SIZE bytes. Max is $DEC_MAX_KERN_SIZE." + exit 1 + fi + ROOT_SIZE=`ls -l $ROOTFS | awk '{print $5}'` + if [ $ROOT_SIZE -gt $DEC_MAX_ROOT_SIZE ]; then + oefatal "Rootfs is too large at $ROOT_SIZE bytes. Max is $DEC_MAX_ROOT_SIZE." + exit 1 + fi + PAD_SIZE=`echo "$DEC_MAX_KERN_SIZE - $KERNEL_SIZE" | bc ` + dd if=/dev/zero of=$PADFILE bs=$PAD_SIZE count=1 2>>/dev/null + cat $KERNEL $PADFILE $ROOTFS > $OUTPUT + rm -f $PADFILE + ls -l $OUTPUT +} diff --git a/classes/turbostation-image.bbclass b/classes/turbostation-image.bbclass new file mode 100644 index 0000000000..d82e3996d5 --- /dev/null +++ b/classes/turbostation-image.bbclass @@ -0,0 +1,35 @@ +EXTRA_IMAGECMD = "--big-endian" +ERASEBLOCK_SIZE = "0x20000" +IMAGE_FSTYPES = "jffs2" +IMAGE_POSTPROCESS_COMMAND += '${MACHINE}_pack_image;' + +turbostation_pack_image() { + # find latest kernel + KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/uImage* | tail -1` + if [ -z "$KERNEL" ]; then + oefatal "No kernel found in ${DEPLOY_DIR_IMAGE}. Bitbake linux-turbostation to create one." + exit 1 + fi + ROOTFS=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 + OUTPUT=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flash.img + PADFILE=${DEPLOY_DIR_IMAGE}/padfile.zzz + HEX_MAX_KERN_SIZE=200000 + DEC_MAX_KERN_SIZE=`echo "ibase=16; $HEX_MAX_KERN_SIZE" | bc ` + HEX_MAX_ROOT_SIZE=D00000 + DEC_MAX_ROOT_SIZE=`echo "ibase=16; $HEX_MAX_ROOT_SIZE" | bc ` + KERNEL_SIZE=`ls -l $KERNEL | awk '{print $5}'` + if [ $KERNEL_SIZE -gt $DEC_MAX_KERN_SIZE ]; then + oefatal "Kernel too large at $KERNEL_SIZE bytes. Max is $DEC_MAX_KERN_SIZE." + exit 1 + fi + ROOT_SIZE=`ls -l $ROOTFS | awk '{print $5}'` + if [ $ROOT_SIZE -gt $DEC_MAX_ROOT_SIZE ]; then + oefatal "Rootfs is too large at $ROOT_SIZE bytes. Max is $DEC_MAX_ROOT_SIZE." + exit 1 + fi + PAD_SIZE=`echo "$DEC_MAX_KERN_SIZE - $KERNEL_SIZE" | bc ` + dd if=/dev/zero of=$PADFILE bs=$PAD_SIZE count=1 2>>/dev/null + cat $KERNEL $PADFILE $ROOTFS > $OUTPUT + rm -f $PADFILE + ls -l $OUTPUT +} diff --git a/conf/distro/foonas.conf b/conf/distro/foonas.conf index 201d463732..b43090202d 100644 --- a/conf/distro/foonas.conf +++ b/conf/distro/foonas.conf @@ -12,15 +12,29 @@ DISTRO_TYPE = "alpha" FEED_URIS = "foonas-packages##http://ipkg.foonas.org/${MACHINE}/cross/1.0-dev/packages" FEED_URIS += "foonas-kernel##http://ipkg.foonas.org/${MACHINE}/cross/1.0-dev/kernel" +TARGET_OS = "linux" +HOTPLUG = "udev" + +# Various defines for Thecus N2100 FOONAS_KERNEL_n2100 = "kernel-module-ext2 kernel-module-usb-storage" +FOONAS_SUPPORT_n2100 += "fis" +BOOTSTRAP_EXTRA_RDEPENDS_n2100 = "udev mdadm" + +# Various defines for QNAP Turbostation FOONAS_KERNEL_turbostation = "kernel-module-ext3 kernel-module-minix \ kernel-module-usb-storage" -FOONAS_KERNEL_linkstationppchd = "kernel-module-dm-mod kernel-module-raid1 \ - kernel-module-raid0 kernel-module-raid456 \ - kernel-module-multipath" -FOONAS_KERNEL_linkstationppchg = "kernel-module-dm-mod kernel-module-raid1 \ +FOONAS_SUPPORT_turbostation += "uboot-utils" +BOOTSTRAP_EXTRA_RDEPENDS_turbostation = "udev mdadm" + +# Various defines for Linkstations +FOONAS_KERNEL_lsppchg = "kernel-module-dm-mod kernel-module-raid1 \ kernel-module-raid0 kernel-module-raid456 \ kernel-module-multipath" +FOONAS_KERNEL_lsppchd = "${FOONAS_KERNEL_lsppchg}" +FOONAS_SUPPORT_lsppchd = "uboot-utils dtc" +FOONAS_SUPPORT_lsppchg = ${FOONAS_SUPPORT_lsppchd} +IMAGE_FSTYPES_lsppchd = "tar.gz" +IMAGE_FSTYPES_lsppchg = ${IMAGE_FSTYPES_lsppchd} # # Naming schemes @@ -30,77 +44,9 @@ INHERIT += "debian" # # Packaging and output format # + INHERIT += "package_ipk" IMAGE_BASENAME = "foonas" -IMAGE_FSTYPES = "jffs2" - -# -# binutils and compilers -# - -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate" -PREFERRED_PROVIDER_virtual/arm-foonas-linux-gnueabi-libc-for-gcc = "glibc-intermediate" -PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate" -PREFERRED_PROVIDER_virtual/powerpc-foonas-linux-libc-for-gcc = "glibc-intermediate" - -# not used yet -#PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc = "glibc-intermediate" -#PREFERRED_PROVIDER_virtual/armeb-foonas-linux-gnueabi-libc-for-gcc = "glibc-intermediate" -#PREFERRED_PROVIDER_virtual/mipsel-foonas-linux-libc-for-gcc = "glibc-intermediate" - -TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}" - -#mess with compiler flags to use -Os instead of -O2 -#Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info -# perl has some problems, see http://bugs.openembedded.org/show_bug.cgi?id=1616 - -FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os" -FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1" -BUILD_OPTIMIZATION = "-Os" -BUILD_OPTIMIZATION_pn-perl = "-O1" - -CXXFLAGS += "-fvisibility-inlines-hidden" - -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross" -#conflict between this and the last below. -#PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}libc-for-gcc:glibc" -# Select 2.6 versions of the depmod support -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross" -PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}libc-for-gcc:glibc-intermediate" - -PREFERRED_PROVIDER_virtual/libx11 = "libx11" -PREFERRED_PROVIDER_virtual/libiconv = "glibc" -PREFERRED_PROVIDER_virtual/libintl = "glibc" - -PREFERRED_PROVIDER_virtual/db = "db" -PREFERRED_PROVIDER_virtual/db-native = "db-native" - -PREFERRED_VERSION_binutils = "2.17.50.0.12" -PREFERRED_VERSION_binutils-cross = "2.17.50.0.12" - -PREFERRED_VERSION_gcc = "4.1.1" -PREFERRED_VERSION_gcc-cross = "4.1.1" -PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.1" -PREFERRED_VERSION_gcc-cross-initial = "4.1.1" - -PREFERRED_VERSION_glibc = "2.5" -PREFERRED_VERSION_glibc-intermediate = "2.5" -PREFERRED_VERSION_glibc-initial = "2.5" -GLIBC_EXTRA_OECONF = "--with-tls" - -PREFERRED_VERSION_linux-libc-headers ?= "2.6.18" -GLIBC_ADDONS ?= "ports,nptl,libidn" - - -# -# Target OS -# - -TARGET_OS = "linux" -HOTPLUG = "udev" require conf/distro/include/sane-srcdates.inc - -CMDLINE_DEBUG = "noirqdebug" +require conf/distro/include/foonas.inc diff --git a/conf/distro/include/foonas.inc b/conf/distro/include/foonas.inc new file mode 100644 index 0000000000..189b932716 --- /dev/null +++ b/conf/distro/include/foonas.inc @@ -0,0 +1,60 @@ +# +# binutils and compilers +# + +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate" +PREFERRED_PROVIDER_virtual/arm-foonas-linux-gnueabi-libc-for-gcc = "glibc-intermediate" +PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate" +PREFERRED_PROVIDER_virtual/powerpc-foonas-linux-libc-for-gcc = "glibc-intermediate" + +# not used yet +#PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc = "glibc-intermediate" +#PREFERRED_PROVIDER_virtual/armeb-foonas-linux-gnueabi-libc-for-gcc = "glibc-intermediate" +#PREFERRED_PROVIDER_virtual/mipsel-foonas-linux-libc-for-gcc = "glibc-intermediate" + +TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}" + +#mess with compiler flags to use -Os instead of -O2 +#Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info +# perl has some problems, see http://bugs.openembedded.org/show_bug.cgi?id=1616 + +FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os" +FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1" + +BUILD_OPTIMIZATION = "-Os" +BUILD_OPTIMIZATION_pn-perl = "-O1" + +CXXFLAGS += "-fvisibility-inlines-hidden" + +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial" +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross" +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross" +#conflict between this and the last below. +#PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}libc-for-gcc:glibc" +# Select 2.6 versions of the depmod support +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross" +PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}libc-for-gcc:glibc-intermediate" + +PREFERRED_PROVIDER_virtual/libx11 = "libx11" +PREFERRED_PROVIDER_virtual/libiconv = "glibc" +PREFERRED_PROVIDER_virtual/libintl = "glibc" + +PREFERRED_PROVIDER_virtual/db = "db" +PREFERRED_PROVIDER_virtual/db-native = "db-native" + +PREFERRED_VERSION_binutils = "2.17.50.0.12" +PREFERRED_VERSION_binutils-cross = "2.17.50.0.12" + +PREFERRED_VERSION_gcc = "4.1.1" +PREFERRED_VERSION_gcc-cross = "4.1.1" +PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.1" +PREFERRED_VERSION_gcc-cross-initial = "4.1.1" + +PREFERRED_VERSION_glibc = "2.5" +PREFERRED_VERSION_glibc-intermediate = "2.5" +PREFERRED_VERSION_glibc-initial = "2.5" +GLIBC_EXTRA_OECONF = "--with-tls" + +PREFERRED_VERSION_linux-libc-headers ?= "2.6.18" +GLIBC_ADDONS ?= "ports,nptl,libidn" + diff --git a/conf/machine/linkstationppchd.conf b/conf/machine/lsppchd.conf index 52d58ded5b..52d58ded5b 100644 --- a/conf/machine/linkstationppchd.conf +++ b/conf/machine/lsppchd.conf diff --git a/conf/machine/linkstationppchg.conf b/conf/machine/lsppchg.conf index b7ceb6fc95..b7ceb6fc95 100644 --- a/conf/machine/linkstationppchg.conf +++ b/conf/machine/lsppchg.conf diff --git a/conf/machine/n2100.conf b/conf/machine/n2100.conf index 554157ca85..6aee9f1b71 100644 --- a/conf/machine/n2100.conf +++ b/conf/machine/n2100.conf @@ -11,17 +11,7 @@ MACHINE_FEATURES= "kernel26 usbhost" PREFERRED_PROVIDER_virtual/kernel = "linux" PREFERRED_VERSION_linux = "2.6.20" -# Do we need any kernel modules? -FOONAS_KERNEL = "kernel-module-ext2 kernel-module-usb-storage" - -FOONAS_SUPPORT += "fis" - # We want udev support in the image udevdir = "/dev" -BOOTSTRAP_EXTRA_RDEPENDS = "udev mdadm" -EXTRA_IMAGECMD_jffs2 += " --little-endian" -ERASEBLOCK_SIZE = "0x20000" -JFFS2_ROOTFS_SIZE = "0xC80000" -KERNEL_IMAGE_SIZE = "0x280000" require conf/machine/include/tune-xscale.conf diff --git a/conf/machine/turbostation.conf b/conf/machine/turbostation.conf index 41dfd8d09e..a3856dbaf1 100644 --- a/conf/machine/turbostation.conf +++ b/conf/machine/turbostation.conf @@ -11,17 +11,8 @@ USE_VT="0" MODUTILS=26 MACHINE_FEATURES= "kernel26 usbhost" PREFERRED_PROVIDER_virtual/kernel = "linux-turbostation" -FOONAS_KERNEL = "kernel-module-ext3 kernel-module-minix \ - kernel-module-usb-storage" # We want udev support in the image udevdir = "/dev" -BOOTSTRAP_EXTRA_RDEPENDS = "udev mdadm" -FOONAS_SUPPORT += "uboot-utils" -# Hardware stuff used in image generation -EXTRA_IMAGECMD = "--big-endian" -ERASEBLOCK_SIZE = "0x20000" -JFFS2_ROOTFS_SIZE = "0xC80000" -KERNEL_IMAGE_SIZE = "0x280000" require conf/machine/include/tune-ppc603e.conf diff --git a/packages/dtc/dtc_20070216.bb b/packages/dtc/dtc_20070216.bb new file mode 100644 index 0000000000..476a84eba8 --- /dev/null +++ b/packages/dtc/dtc_20070216.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "dtc tool" +SECTION = "bootloader" +PRIORITY = "optional" +LICENSE = "GPL" + +SRC_URI = "http://www.jdl.com/pub/software/dtc-${PV}.tgz" + +S = "${WORKDIR}/dtc" + +inherit autotools + +do_install() { + install -m 0755 -d ${D}${bindir} + install -m 755 dtc ${D}${bindir}/dtc +} diff --git a/packages/dtc/dtc_git.bb b/packages/dtc/dtc_git.bb new file mode 100644 index 0000000000..e8523173a1 --- /dev/null +++ b/packages/dtc/dtc_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "dtc tool" +SECTION = "bootloader" +PRIORITY = "optional" +LICENSE = "GPL" + +SRC_URI = "git://www.jdl.com/software/dtc.git;protocol=git" + +S = "${WORKDIR}/git" + +inherit autotools + +do_install() { + install -m 0755 -d ${D}${bindir} + install -m 755 dtc ${D}${bindir}/dtc +} diff --git a/packages/gsm/files/.mtn2git_empty b/packages/gsm/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gsm/files/.mtn2git_empty diff --git a/packages/gsm/files/fic-gta01/.mtn2git_empty b/packages/gsm/files/fic-gta01/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gsm/files/fic-gta01/.mtn2git_empty diff --git a/packages/gsm/files/fic-gta01/gsmd b/packages/gsm/files/fic-gta01/gsmd new file mode 100644 index 0000000000..c835e64063 --- /dev/null +++ b/packages/gsm/files/fic-gta01/gsmd @@ -0,0 +1,109 @@ +#!/bin/sh +# +# gsmd This shell script starts and stops gsmd. +# +# chkconfig: 345 90 40 +# description: Gsmd manages access to a serial- or USB-connected GSM +# processname: gsmd + +# If you must specify special options, uncomment and modify the next line +GSMD_OPTS="-s 115200 -F" +# If your GSM device needs to be powered up, uncommend and modify the next line +GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on" +GSM_DEV="/dev/ttySAC0" + +# Source function library. +#. /etc/rc.d/init.d/functions + +RETVAL=0 +prog="gsmd" + +start() { + # FIXME add check whether GSM_POW is set at all, otherwise don't try to power on + # Power on GSM device + if [ -e "${GSM_POW}" ] + then + echo -n "Powering up GSM device..." + echo "1" > ${GSM_POW} + sleep 1 + echo "done" + else + echo "GSM device not found. Aborting startup" + return false + fi + # Start daemons. + echo -n "Starting $prog: " + # We don't use the daemon function here because of a known bug + # in initlog -- it spuriously returns a nonzero status when + # starting daemons that fork themselves. See + # http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=130629 + # for discussion. Fortunately: + # + # 1. gsmd startup can't fail, or at least not in the absence of + # much larger resource-exhaustion problems that would be very obvious. + # + # 2. We don't need all the logging crud that daemon/initlog sets + # up -- gsmd does its own syslog calls. + # + if [ -e "${GSM_DEV}" ] + then + chown uucp.uucp ${GSM_DEV} + mkdir -fp /usr/spool/uucp + chown uucp.uucp /usr/spool/uucp + stty -F /dev/ttySAC0 crtscts + gsmd -p ${GSM_DEV} ${GSMD_OPTS} + echo "success" + else + # User needs to symlink ${GPS_DEV} to the right thing + echo "No ${GSM_DEV} device, aborting gsmd startup." + fi + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/gsmd + return $RETVAL +} + +stop() { + # Stop daemons. + echo -n "Shutting down $prog: " + killall gsmd +# killproc gsmd + RETVAL=$? + echo + if [ $RETVAL -eq 0 ] + then + rm -f /var/lock/subsys/gsmd; + fi + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + start + RETVAL=$? + ;; + condrestart) + if [ -f /var/lock/subsys/gsmd ]; then + stop + start + RETVAL=$? + fi + ;; + status) +# status gsmd +# RETVAL=$? + ;; + *) + echo "Usage: $0 {start|stop|restart|condrestart|status}" + exit 1 +esac + +exit $RETVAL diff --git a/packages/gsm/libgsmd_svn.bb b/packages/gsm/libgsmd_svn.bb index 860adf3b0a..9a820f6f56 100644 --- a/packages/gsm/libgsmd_svn.bb +++ b/packages/gsm/libgsmd_svn.bb @@ -4,21 +4,30 @@ LICENSE = "GPL" SECTION = "libs/gsm" PROVIDES += "gsmd" PV = "0.0+svn${SRCDATE}" -PR = "r2" +PR = "r5" -SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http" +SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \ + file://gsmd" S = "${WORKDIR}/gsm" -inherit autotools pkgconfig +inherit autotools pkgconfig update-rc.d + +INITSCRIPT_NAME = "gsmd" +INITSCRIPT_PARAMS = "defaults 35" do_stage() { autotools_stage_all } +do_install_append() { + install -d ${D}/${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/gsmd ${D}/${sysconfdir}/init.d/ +} + PACKAGES =+ "${PN}-tools gsmd" RDEPENDS_${PN} = "gsmd" FILES_${PN}-tools = "${bindir}/*" -FILES_gsmd = "${sbindir}/gsmd" +FILES_gsmd = "${sbindir}/gsmd ${sysconfdir}" PACKAGES_DYNAMIC = "libgsmd* gsmd" diff --git a/packages/images/foonas-image.bb b/packages/images/foonas-image.bb index 3d2c621438..db5ff198fc 100644 --- a/packages/images/foonas-image.bb +++ b/packages/images/foonas-image.bb @@ -5,12 +5,7 @@ PR = "r0" inherit image DEPENDS = "${MACHINE_TASK_PROVIDER} makedevs-native mtd-utils-native" -DEPENDS_n2100 += "openssl-native" - -IMAGE_POSTPROCESS_COMMAND += "${PACK_IMAGE}" -PACK_IMAGE_DEPENDS = "" -PACK_IMAGE = '${MACHINE}_pack_image;' IMAGE_PREPROCESS_COMMAND += "sed -i -es,^id:5:initdefault:,id:3:initdefault:, ${IMAGE_ROOTFS}/etc/inittab;" IMAGE_PREPROCESS_COMMAND += "sed -i -es,^root::0,root:BTMzOOAQfESg6:0, ${IMAGE_ROOTFS}/etc/passwd;" IMAGE_PREPROCESS_COMMAND += "sed -i -es,^VERBOSE=no,VERBOSE=very, ${IMAGE_ROOTFS}/etc/default/rcS;" @@ -25,78 +20,11 @@ RDEPENDS = " \ module-init-tools-depmod modutils-initscripts \ ipkg-collateral ipkg ipkg-link \ libgcc1 diffutils cpio findutils\ - portmap \ - dropbear \ - e2fsprogs-blkid \ - mdadm \ - hdparm \ - mtd-utils \ - udev \ + portmap dropbear e2fsprogs-blkid \ + mdadm hdparm mtd-utils udev \ ${FOONAS_SUPPORT} \ ${FOONAS_KERNEL} " PACKAGE_INSTALL = "${RDEPENDS}" -# At this point you have to make a ${MACHINE}_pack_image for your machine. - -turbostation_pack_image() { - # find latest kernel - KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/uImage* | tail -1` - if [ -z "$KERNEL" ]; then - oefatal "No kernel found in ${DEPLOY_DIR_IMAGE}. Bitbake linux-turbostation to create one." - exit 1 - fi - ROOTFS=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 - OUTPUT=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flash.img - PADFILE=${DEPLOY_DIR_IMAGE}/padfile.zzz - HEX_MAX_KERN_SIZE=200000 - DEC_MAX_KERN_SIZE=`echo "ibase=16; $HEX_MAX_KERN_SIZE" | bc ` - HEX_MAX_ROOT_SIZE=D00000 - DEC_MAX_ROOT_SIZE=`echo "ibase=16; $HEX_MAX_ROOT_SIZE" | bc ` - KERNEL_SIZE=`ls -l $KERNEL | awk '{print $5}'` - if [ $KERNEL_SIZE -gt $DEC_MAX_KERN_SIZE ]; then - oefatal "Kernel too large at $KERNEL_SIZE bytes. Max is $DEC_MAX_KERN_SIZE." - exit 1 - fi - ROOT_SIZE=`ls -l $ROOTFS | awk '{print $5}'` - if [ $ROOT_SIZE -gt $DEC_MAX_ROOT_SIZE ]; then - oefatal "Rootfs is too large at $ROOT_SIZE bytes. Max is $DEC_MAX_ROOT_SIZE." - exit 1 - fi - PAD_SIZE=`echo "$DEC_MAX_KERN_SIZE - $KERNEL_SIZE" | bc ` - dd if=/dev/zero of=$PADFILE bs=$PAD_SIZE count=1 2>>/dev/null - cat $KERNEL $PADFILE $ROOTFS > $OUTPUT - rm -f $PADFILE - ls -l $OUTPUT -} - -n2100_pack_image() { - # find latest kernel - KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/zImage* | tail -1` - if [ -z "$KERNEL" ]; then - oefatal "No kernel found in ${DEPLOY_DIR_IMAGE}. Bitbake linux to create one." - exit 1 - fi - ROOTFS=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 - OUTPUT=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flash.img - PADFILE=${DEPLOY_DIR_IMAGE}/padfile.zzz - HEX_MAX_KERN_SIZE=1C0000 - DEC_MAX_KERN_SIZE=`echo "ibase=16; $HEX_MAX_KERN_SIZE" | bc ` - HEX_MAX_ROOT_SIZE=DC0000 - DEC_MAX_ROOT_SIZE=`echo "ibase=16; $HEX_MAX_ROOT_SIZE" | bc ` - KERNEL_SIZE=`ls -l $KERNEL | awk '{print $5}'` - if [ $KERNEL_SIZE -gt $DEC_MAX_KERN_SIZE ]; then - oefatal "Kernel too large at $KERNEL_SIZE bytes. Max is $DEC_MAX_KERN_SIZE." - exit 1 - fi - ROOT_SIZE=`ls -l $ROOTFS | awk '{print $5}'` - if [ $ROOT_SIZE -gt $DEC_MAX_ROOT_SIZE ]; then - oefatal "Rootfs is too large at $ROOT_SIZE bytes. Max is $DEC_MAX_ROOT_SIZE." - exit 1 - fi - PAD_SIZE=`echo "$DEC_MAX_KERN_SIZE - $KERNEL_SIZE" | bc ` - dd if=/dev/zero of=$PADFILE bs=$PAD_SIZE count=1 2>>/dev/null - cat $KERNEL $PADFILE $ROOTFS > $OUTPUT - rm -f $PADFILE - ls -l $OUTPUT -}
\ No newline at end of file +inherit n2100-image turbostation-image lsppchg-image lsppchd-image
\ No newline at end of file diff --git a/packages/openpbx/.mtn2git_empty b/packages/openpbx/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openpbx/.mtn2git_empty diff --git a/packages/openpbx/files/.mtn2git_empty b/packages/openpbx/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openpbx/files/.mtn2git_empty diff --git a/packages/openpbx/files/init b/packages/openpbx/files/init new file mode 100644 index 0000000000..0ce88c4626 --- /dev/null +++ b/packages/openpbx/files/init @@ -0,0 +1,75 @@ +#! /bin/sh +# +# This is an init script for openembedded +# Copy it to /etc/init.d/openpbx and type +# > update-rc.d openpbx defaults 60 +# +openpbx=/usr/sbin/openpbx +pidfile=/var/run/openpbx.org/openpbx.pid + +test -x "$openpbx" || exit 0 + +case "$1" in + start) + echo -n "Starting OpenPBX" + start-stop-daemon --start --quiet --exec $openpbx -- -npq + echo "." + ;; + stop) + echo -n "Stopping OpenPBX" + $openpbx -rx "stop gracefully" + sleep 4 + if [ -f $pidfile ]; then + start-stop-daemon --stop --quiet --pidfile $pidfile + fi + echo "." + ;; + force-stop) + echo -n "Stopping OpenPBX" + $openpbx -rx "stop now" + sleep 2 + if [ -f $pidfile ]; then + start-stop-daemon --stop --quiet --pidfile $pidfile + fi + echo "." + ;; + restart) + echo -n "Restarting OpenPBX" + if [ -f $pidfile ]; then + $openpbx -rx "restart gracefully" + sleep 2 + else + start-stop-daemon --start --quiet --exec $openpbx -- -npq + fi + ;; + force-restart) + echo -n "Forcibly Restarting OpenPBX" + if [ -f $pidfile ]; then + $openpbx -rx "restart now" + sleep 2 + else + start-stop-daemon --start --quiet --exec $openpbx -- -npq + fi + ;; + reload) + echo -n "Reloading OpenPBX Configuration" + if [ -f $pidfile ]; then + $openpbx -rx "reload" + else + start-stop-daemon --start --quiet --exec $openpbx -- -npq + fi + echo "." + ;; + logger-reload) +# echo -n "Restating OpenPBX Logger" + if [ -f $pidfile ]; then + $openpbx -rx "logger reload" + fi +# echo "." + ;; + *) + echo "Usage: /etc/init.d/openpbx {start|stop|force-stop|restart|force-restart|reload|logger-reload}" + exit 1 +esac + +exit 0 diff --git a/packages/openpbx/files/logrotate b/packages/openpbx/files/logrotate new file mode 100644 index 0000000000..a0192538a3 --- /dev/null +++ b/packages/openpbx/files/logrotate @@ -0,0 +1,13 @@ +/var/log/openpbx.org/cdr-csv/Master.csv /var/log/openpbx.org/queue_log /var/log/openpbx.org/event_log /var/log/openpbx.org/messages +/var/log/openpbx.org/full { + daily + missingok + compress + delaycompress + rotate 30 + sharedscripts + postrotate + /etc/init.d/openpbx logger-reload + endscript +} + diff --git a/packages/openpbx/files/volatiles b/packages/openpbx/files/volatiles new file mode 100644 index 0000000000..716d469e86 --- /dev/null +++ b/packages/openpbx/files/volatiles @@ -0,0 +1,6 @@ +d openpbx openpbx 0775 /var/run/openpbx.org none +d openpbx openpbx 0775 /var/lib/openpbx.org none +d openpbx openpbx 0775 /var/log/openpbx.org/cdr-csv none +d openpbx openpbx 0775 /var/log/openpbx.org/cdr-custom none +d openpbx openpbx 0775 /var/spool/openpbx.org/outgoing none +d openpbx openpbx 0775 /var/spool/openpbx.org/voicemail none diff --git a/packages/openpbx/openpbx.org-1.2-rc3/.mtn2git_empty b/packages/openpbx/openpbx.org-1.2-rc3/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openpbx/openpbx.org-1.2-rc3/.mtn2git_empty diff --git a/packages/openpbx/openpbx.org-1.2-rc3/bootstrap.patch b/packages/openpbx/openpbx.org-1.2-rc3/bootstrap.patch new file mode 100644 index 0000000000..7f89772efa --- /dev/null +++ b/packages/openpbx/openpbx.org-1.2-rc3/bootstrap.patch @@ -0,0 +1,37 @@ +*** openpbx.org-1.2_rc3.old/bootstrap.sh Mon Feb 26 16:02:40 2007 +--- openpbx.org-1.2_rc3/bootstrap.sh Mon Feb 26 16:04:11 2007 +*************** +*** 89,104 **** + # Check for required version and die if unhappy + + if [ "x$UNAME" = "xFreeBSD" ]; then +! version_compare libtoolize 1 5 20 || exit 1 +! version_compare automake19 1 9 6 || exit 1 + version_compare autoconf259 2 59 || exit 1 + ACLOCAL=aclocal19 + AUTOHEADER=autoheader259 + AUTOMAKE=automake19 + AUTOCONF=autoconf259 + else +! version_compare libtoolize 1 5 20 || exit 1 +! version_compare automake 1 9 6 || exit 1 + version_compare autoconf 2 59 || exit 1 + ACLOCAL=aclocal + AUTOHEADER=autoheader +--- 89,104 ---- + # Check for required version and die if unhappy + + if [ "x$UNAME" = "xFreeBSD" ]; then +! version_compare libtoolize 1 5 10 || exit 1 +! version_compare automake19 1 9 3 || exit 1 + version_compare autoconf259 2 59 || exit 1 + ACLOCAL=aclocal19 + AUTOHEADER=autoheader259 + AUTOMAKE=automake19 + AUTOCONF=autoconf259 + else +! version_compare libtoolize 1 5 10 || exit 1 +! version_compare automake 1 9 3 || exit 1 + version_compare autoconf 2 59 || exit 1 + ACLOCAL=aclocal + AUTOHEADER=autoheader diff --git a/packages/openpbx/openpbx.org-1.2-rc3/openssl.m4.patch b/packages/openpbx/openpbx.org-1.2-rc3/openssl.m4.patch new file mode 100644 index 0000000000..55d0d33832 --- /dev/null +++ b/packages/openpbx/openpbx.org-1.2-rc3/openssl.m4.patch @@ -0,0 +1,46 @@ +*** openpbx.org-1.2_rc3.old/acmacros/openssl.m4 Tue Mar 6 15:21:39 2007 +--- openpbx.org-1.2_rc3/acmacros/openssl.m4 Tue Mar 6 15:23:18 2007 +*************** +*** 3,13 **** + # + AC_DEFUN([CHECK_SSL], + [AC_MSG_CHECKING(if ssl is wanted) +! # AC_ARG_WITH(ssl, +! # [ --with-ssl enable ssl [will check /usr/local/ssl +! # /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr /usr/sfw ] +! # ], +! #[ AC_MSG_RESULT(yes) + for dir in $withval /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr /usr/sfw; do + ssldir="$dir" + if test -f "$dir/include/openssl/ssl.h"; then +--- 3,13 ---- + # + AC_DEFUN([CHECK_SSL], + [AC_MSG_CHECKING(if ssl is wanted) +! AC_ARG_WITH(ssl, +! [ --with-ssl enable ssl [will check /usr/local/ssl +! /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr /usr/sfw ] +! ], +! [ AC_MSG_RESULT(yes) + for dir in $withval /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr /usr/sfw; do + ssldir="$dir" + if test -f "$dir/include/openssl/ssl.h"; then +*************** +*** 33,40 **** + AC_SUBST([HAVE_SSL]) + AC_SUBST([SSL_LIBS]) + AC_SUBST([SSL_CFLAGS]) +! #], +! #[ +! # AC_MSG_RESULT(no) +! #]) + ])dnl +--- 33,40 ---- + AC_SUBST([HAVE_SSL]) + AC_SUBST([SSL_LIBS]) + AC_SUBST([SSL_CFLAGS]) +! ], +! [ +! AC_MSG_RESULT(no) +! ]) + ])dnl diff --git a/packages/openpbx/openpbx.org_1.2_rc3.bb b/packages/openpbx/openpbx.org_1.2_rc3.bb new file mode 100644 index 0000000000..64778d0f7c --- /dev/null +++ b/packages/openpbx/openpbx.org_1.2_rc3.bb @@ -0,0 +1,105 @@ +DESCRIPTION = "A flexible VOIP soft switch/PBX." +HOMEPAGE = "http://www.openpbx.org" +#RDEPENDS = "ssmtp" +SECTION = "voip" +LICENSE = "GPL" +DEPENDS = "openssl zlib tiff libcap spandsp speex readline js" +DEPENDS_${PN}-ldap = "openldap" +RRECOMMENDS = "logrotate" +RRECOMMENDS_${PN}-ogi = "perl perl-module-strict" +PV = "1.2_rc3" +PR = "r0" + +SRC_URI = "http://www.openpbx.org/releases/${P}.tar.gz \ + file://bootstrap.patch;patch=1 \ + file://openssl.m4.patch;patch=1 \ + file://logrotate \ + file://volatiles \ + file://init" + +PARALLEL_MAKE = "" +INITSCRIPT_NAME = "openpbx" +INITSCRIPT_PARAMS = "defaults 60" + +inherit autotools update-rc.d + +EXTRA_OECONF = " --with-ssl=${STAGING_DIR}/${HOST_SYS} --enable-low_memory \ + --disable-zaptel --with-directory-layout=lsb --with-chan_fax \ + --with-codec-speex=${STAGING_DIR}/${HOST_SYS} --with-app_ldap \ + --with-perl-shebang='#!${bindir}/perl' --with-jabber --with-res_jabber \ + --enable-t38 --with-javascript --with-res_js \ + --bindir=${bindir} --datadir=${datadir} --sysconfdir=${sysconfdir} \ + --includedir=${includedir} --infodir=${infodir} --mandir=${mandir} \ + --localstatedir=${localstatedir} --libdir=${libdir}" + +do_configure_prepend () { + ${S}/bootstrap.sh + # Fix some stupidness with the VoiceMail app naming. Case Matters! + sed -i 's:Voicemail:VoiceMail:' ${S}/configs/extensions.conf.sample + sed -i 's:/var:${localstatedir}:' ${WORKDIR}/volatiles + sed -i 's:/var:${localstatedir}:' ${WORKDIR}/logrotate + sed -i 's:/etc/init.d:${sysconfdir}/init.d:' ${WORKDIR}/logrotate +} + +do_install_append() { + install -c -D -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/openpbx + install -c -D -m 644 ${WORKDIR}/logrotate ${D}${sysconfdir}/logrotate.d/openpbx + install -c -D -m 644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/openpbx +} + +PACKAGES =+ "${PN}-fax ${PN}-ogi ${PN}-musiconhold ${PN}-ldap" + +FILES_${PN}-fax = "${libdir}/openpbx.org/modules/chan_fax.* \ + ${libdir}/openpbx.org/modules/app_rxfax.* \ + ${libdir}/openpbx.org/modules/app_txfax.* \ + ${sysconfdir}/openpbx.org/chan_fax.conf" +FILES_${PN}-musiconhold = "${libdir}/openpbx.org/modules/res_musiconhold.* \ + ${sysconfdir}/openpbx.org/musiconhold.conf" +FILES_${PN}-ogi = "${libdir}/openpbx.org/modules/res_ogi.* \ + ${datadir}/openpbx.org/ogi/*" +FILES_${PN}-ldap = "${libdir}/openpbx.org/modules/app_ldap.*" + +pkg_postinst_prepend() { + grep -q openpbx ${sysconfdir}/group || addgroup --system openpbx + grep -q openpbx ${sysconfdir}/passwd || adduser --system --home ${localstatedir}/run/openpbx.org --no-create-home --disabled-password --ingroup openpbx -s ${base_bindir}/false openpbx + chown -R openpbx:openpbx ${localstatedir}/lib/openpbx.org ${localstatedir}/spool/openpbx.org ${localstatedir}/log/openpbx.org ${localstatedir}/run/openpbx.org ${sysconfdir}/openpbx.org ${datadir}/openpbx.org + /etc/init.d/populate-volatile.sh update +} + +CONFFILES_${PN}-fax += "${sysconfdir}/openpbx.org/chan_fax.conf" +CONFFILES_${PN}-musiconhold += "${sysconfdir}/openpbx.org/musiconhold.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/adsi.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/adtranvofr.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/agents.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/cdr.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/cdr_custom.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/cdr_manager.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/cdr_tds.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/codecs.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/dnsmgr.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/dundi.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/enum.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/extconfig.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/extensions.ael" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/features.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/iax.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/indications.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/logger.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/manager.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/meetme.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/mgcp.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/modem.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/modules.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/muted.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/openpbx.adsi" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/openpbx.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/osp.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/privacy.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/queues.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/rpt.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/rtp.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/sip.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/sip_notify.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/udptl.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/voicemail.conf" +CONFFILES_${PN} += "${sysconfdir}/openpbx.org/woomera.conf" diff --git a/packages/spandsp/spandsp_0.0.3.bb b/packages/spandsp/spandsp_0.0.3.bb new file mode 100644 index 0000000000..26702f998b --- /dev/null +++ b/packages/spandsp/spandsp_0.0.3.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "A library of many DSP functions for telephony." +HOMEPAGE = "http://www.soft-switch.org" +DEPENDS = "tiff libxml2" +SECTION = "voip" +LICENSE = "GPL" +PV = "0.0.3" +PSUBV = "pre27" +PR = "r0" + +SRC_URI = "http://www.soft-switch.org/downloads/snapshots/spandsp/spandsp-20070123.tar.gz" + +inherit autotools + +PARALLEL_MAKE = "" + +do_stage () { + autotools_stage_all +} |