summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/distro/familiar.conf3
-rw-r--r--packages/aircrack/aircrack_2.41.bb25
-rw-r--r--packages/aircrack/files/oe.patch10
-rw-r--r--packages/altboot/altboot.bb2
-rw-r--r--packages/altboot/files/altboot-menu/15-bootSD4
-rw-r--r--packages/altboot/files/altboot-menu/Advanced/40-bootNFS2
-rw-r--r--packages/altboot/files/altboot-menu/Advanced/55-bin-sh5
-rw-r--r--packages/altboot/files/altboot.rc/disable_printk.sh4
-rw-r--r--packages/altboot/files/init.altboot1
-rw-r--r--packages/busybox/busybox-1.01/openzaurus/.mtn2git_empty0
-rw-r--r--packages/busybox/busybox-1.01/openzaurus/defconfig475
-rw-r--r--packages/e17/entrance/fix-auth-mode.patch11
-rw-r--r--packages/e17/entrance_20060128.bb3
-rw-r--r--packages/e2fsprogs/e2fsprogs_1.38.bb4
-rw-r--r--packages/efl/evas-x11_20060113.bb4
-rw-r--r--packages/gnome/goffice_0.2.0.bb21
-rw-r--r--packages/gnome/orbit2-2.13.2/.mtn2git_empty0
-rw-r--r--packages/gnome/orbit2-2.13.2/configure-lossage.patch35
-rw-r--r--packages/gnome/orbit2-2.13.2/gtk-doc.m453
-rw-r--r--packages/gnome/orbit2-2.13.2/gtk-doc.make148
-rw-r--r--packages/gnome/orbit2-native_2.13.2.bb21
-rw-r--r--packages/gnome/orbit2_2.13.2.bb46
-rw-r--r--packages/gnumeric/gnumeric_1.6.2.bb20
-rwxr-xr-xpackages/lirc/files/lircd.init1
-rwxr-xr-xpackages/lirc/files/lircexec.init1
-rw-r--r--packages/lirc/lirc-modules_0.8.0.bb (renamed from packages/lirc/lirc-modules_0.7.2+0.8.0pre4.bb)39
-rw-r--r--packages/lirc/lirc_0.8.0.bb (renamed from packages/lirc/lirc_0.7.2+0.8.0pre4.bb)27
-rw-r--r--packages/openssh/openssh_4.0p1.bb5
-rw-r--r--packages/udev/udev-084/.mtn2git_empty0
-rw-r--r--packages/udev/udev-084/flags.patch52
-rw-r--r--packages/udev/udev-084/init227
-rw-r--r--packages/udev/udev-084/noasmlinkage.patch38
-rw-r--r--packages/udev/udev-084/udevsynthesize.patch776
-rw-r--r--packages/udev/udev-084/udevsynthesize.sh51
-rw-r--r--packages/udev/udev_084.bb46
35 files changed, 2103 insertions, 57 deletions
diff --git a/conf/distro/familiar.conf b/conf/distro/familiar.conf
index 9cc84e96c4..99e501589f 100644
--- a/conf/distro/familiar.conf
+++ b/conf/distro/familiar.conf
@@ -7,9 +7,10 @@ TARGET_OS = "linux"
PARALLEL_INSTALL_MODULES = "1"
UDEV_DEVFS_RULES = "1"
+IMAGE_NAME = "${IMAGE_BASENAME}-${DISTRO_VERSION}-${MACHINE}"
BOOTSTRAP_EXTRA_RDEPENDS += "familiar-version"
DISTRO_CHECK := "${@bb.data.getVar("DISTRO_VERSION",d,1) or bb.fatal('Remove this line or set a dummy DISTRO_VERSION if you really want to build an unversioned distro')}"
-include conf/distro/include/multimachine.conf \ No newline at end of file
+include conf/distro/include/multimachine.conf
diff --git a/packages/aircrack/aircrack_2.41.bb b/packages/aircrack/aircrack_2.41.bb
new file mode 100644
index 0000000000..c1d3252aae
--- /dev/null
+++ b/packages/aircrack/aircrack_2.41.bb
@@ -0,0 +1,25 @@
+SECTION = "console/network"
+DESCRIPTION = "Aircrack is a set of tools for wep key statistical cracking"
+HOMEPAGE = "http://www.cr0.net:8040/code/network/aircrack/"
+LICENSE = "GPLv2"
+MAINTAINER = "Rick Farina <sidhayn@hotmail.com>"
+DEPENDS = ""
+PR="r0"
+
+SRC_URI = "http://distfiles.gentoo.org/distfiles/${P}.tgz \
+ file://oe.patch;patch=1;pnum=1"
+
+inherit autotools
+
+do_install() {
+ install -d ${D}/${sbindir}
+ install -d ${D}/${libdir}/${PN}
+ install -m 0755 airodump ${D}/${sbindir}
+ install -m 0755 aircrack ${D}/${sbindir}
+ install -m 0755 aireplay ${D}/${sbindir}
+ install -m 0755 airdecap ${D}/${sbindir}
+ install -m 0755 arpforge ${D}/${sbindir}
+ install -m 0755 airmon.sh ${D}/${sbindir}
+ install -m 0755 mergeivs ${D}/${sbindir}
+ install -m 0755 pcap2ivs ${D}/${sbindir}
+}
diff --git a/packages/aircrack/files/oe.patch b/packages/aircrack/files/oe.patch
new file mode 100644
index 0000000000..742d83b96b
--- /dev/null
+++ b/packages/aircrack/files/oe.patch
@@ -0,0 +1,10 @@
+diff -ur aircrack-2.41-orig/Makefile aircrack-2.41/Makefile
+--- aircrack-2.41-orig/Makefile 2005-11-22 13:09:39.000000000 -0500
++++ aircrack-2.41/Makefile 2005-12-12 19:54:29.000000000 -0500
+@@ -1,5 +1,4 @@
+-CC = gcc
+-CFLAGS = -g -W -Wall -O2
++CFLAGS = -g -W -Wall -O3
+ OPTFLAGS = -D_FILE_OFFSET_BITS=64 -D_MAJ=2 -D_MIN=41
+
+ prefix = /usr/local
diff --git a/packages/altboot/altboot.bb b/packages/altboot/altboot.bb
index a6b2bcb524..0a349c62d8 100644
--- a/packages/altboot/altboot.bb
+++ b/packages/altboot/altboot.bb
@@ -6,7 +6,7 @@ MAINTAINER = "Matthias 'CoreDump' Hentges <oe@hentges.net>"
LICENSE = "GPL"
IGNORE_STRIP_ERRORS = "1"
-PR = "r16"
+PR = "r17"
SRC_URI = "file://altboot-menu \
diff --git a/packages/altboot/files/altboot-menu/15-bootSD b/packages/altboot/files/altboot-menu/15-bootSD
index d086cde344..baa85a7cf7 100644
--- a/packages/altboot/files/altboot-menu/15-bootSD
+++ b/packages/altboot/files/altboot-menu/15-bootSD
@@ -15,11 +15,13 @@ die() {
# This function is activated by init.altboot by calling this script with the "run" option
run_module() {
- test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!"
+ test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!"
echo -n "Mounting rootfs rw..." >/dev/tty0
mount -o remount,rw / >/dev/tty0 2>&1 && echo ok >/dev/tty0|| die "mount -o remount,rw / failed"
+ mount proc -t proc /proc >/dev/tty0 2>&1
+
echo -n "Generating device files..." >/dev/tty0
/etc/init.d/devices start && echo ok >/dev/tty0|| die "FAILED"
diff --git a/packages/altboot/files/altboot-menu/Advanced/40-bootNFS b/packages/altboot/files/altboot-menu/Advanced/40-bootNFS
index e83a2867c5..7279ba66ee 100644
--- a/packages/altboot/files/altboot-menu/Advanced/40-bootNFS
+++ b/packages/altboot/files/altboot-menu/Advanced/40-bootNFS
@@ -23,7 +23,7 @@ run_module() {
/etc/init.d/devices start && echo ok >/dev/tty0|| die "FAILED"
echo -n "Mounting /proc..." >/dev/tty0
- mount /proc >/dev/tty0 2>&1 && echo ok >/dev/tty0 || echo failed
+ mount /proc >/dev/tty0 >/dev/null 2>&1 && echo ok >/dev/tty0 || echo failed
# Needed for NFS
/etc/init.d/portmap start >/dev/tty1 2>&1 || die "/etc/init.d/portmap start failed!"
diff --git a/packages/altboot/files/altboot-menu/Advanced/55-bin-sh b/packages/altboot/files/altboot-menu/Advanced/55-bin-sh
index 6db4adaf3a..90a6f37ff5 100644
--- a/packages/altboot/files/altboot-menu/Advanced/55-bin-sh
+++ b/packages/altboot/files/altboot-menu/Advanced/55-bin-sh
@@ -8,6 +8,11 @@ run_module() {
test "$ASK_PW_ON_BOOT" != "yes" && verify_master_pw >/dev/tty0
+ # Make the system a little bit more usable than a standard init=/bin/sh boot
+ mount -t proc proc /proc >/dev/null 2>&1
+ uname -r | grep -q "2.6." && mount sys -t sysfs /sys
+ mount -o remount,rw /
+
echo -e "\nBoot system with 'exec /sbin/init 5'\n"
while true
do
diff --git a/packages/altboot/files/altboot.rc/disable_printk.sh b/packages/altboot/files/altboot.rc/disable_printk.sh
index 9d5f918c1e..af15adec44 100644
--- a/packages/altboot/files/altboot.rc/disable_printk.sh
+++ b/packages/altboot/files/altboot.rc/disable_printk.sh
@@ -1,4 +1,6 @@
-#!/bin/bash
+#!/bin/sh
+
+mount proc -t proc /proc >/dev/null 2>&1
echo 0 > /proc/sys/kernel/printk
diff --git a/packages/altboot/files/init.altboot b/packages/altboot/files/init.altboot
index cd8b6b8929..2ef804d99c 100644
--- a/packages/altboot/files/init.altboot
+++ b/packages/altboot/files/init.altboot
@@ -24,7 +24,6 @@ case "`uname -r`" in
ALTBOOT_CFG_FILE="/etc/altboot-2.6.cfg";;
esac
-echo "Using [${ALTBOOT_CFG_FILE}]"
test -e "$ALTBOOT_CFG_FILE" && . "$ALTBOOT_CFG_FILE" || echo "WARNING: No $ALTBOOT_CFG_FILE found! Check your installation of Altboot!" > /dev/tty1
C_RED="\033[31m"
diff --git a/packages/busybox/busybox-1.01/openzaurus/.mtn2git_empty b/packages/busybox/busybox-1.01/openzaurus/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/busybox/busybox-1.01/openzaurus/.mtn2git_empty
diff --git a/packages/busybox/busybox-1.01/openzaurus/defconfig b/packages/busybox/busybox-1.01/openzaurus/defconfig
new file mode 100644
index 0000000000..34a5804a4d
--- /dev/null
+++ b/packages/busybox/busybox-1.01/openzaurus/defconfig
@@ -0,0 +1,475 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# General Configuration
+#
+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
+CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+# CONFIG_FEATURE_DEVFS is not set
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_SUID is not set
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+CONFIG_LFS=y
+# USING_CROSS_COMPILER is not set
+EXTRA_CFLAGS_OPTIONS=""
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+PREFIX="./_install"
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_CPIO=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNZIP is not set
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CMP is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+
+#
+# date (forced enabled for use with watch)
+#
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+CONFIG_DF=y
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_EXPR=y
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+# CONFIG_FEATURE_LS_RECURSIVE is not set
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_OD=y
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+# CONFIG_FEATURE_FANCY_SLEEP is not set
+CONFIG_SORT=y
+CONFIG_STTY=y
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+
+#
+# test (forced enabled for use with shell)
+#
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls and more
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+# CONFIG_DUMPKMAP is not set
+CONFIG_GETKEY=y
+# CONFIG_LOADFONT is not set
+# CONFIG_LOADKMAP is not set
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+# CONFIG_SETKEYCODES is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_RUN_PARTS=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_PATCH is not set
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+# CONFIG_FEATURE_VI_DOT_CMD is not set
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_NEWER=y
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_HALT is not set
+# CONFIG_POWEROFF is not set
+# CONFIG_REBOOT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+CONFIG_FEATURE_U_W_TMP=y
+# CONFIG_LOGIN is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_CROND is not set
+# CONFIG_CRONTAB is not set
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_LAST is not set
+# CONFIG_HDPARM is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_MT is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+# CONFIG_TIME is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+CONFIG_FEATURE_2_4_MODULES=y
+CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+CONFIG_FEATURE_INSMOD_LOAD_MAP=y
+CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL=y
+CONFIG_LSMOD=y
+CONFIG_MODPROBE=y
+CONFIG_RMMOD=y
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_ARPING is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+# CONFIG_INETD is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_IPCALC is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_FEATURE_TFTP_DEBUG is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+
+#
+# udhcp Server/Client
+#
+# CONFIG_UDHCPD is not set
+CONFIG_UDHCPC=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+# CONFIG_PIDOF is not set
+CONFIG_PS=y
+CONFIG_RENICE=y
+CONFIG_TOP=y
+FEATURE_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+# CONFIG_SYSCTL is not set
+
+#
+# Another Bourne-like Shell
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+CONFIG_FEATURE_COMMAND_HISTORY=63
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+# CONFIG_FEATURE_FBSET_READMODE is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+FDISK_SUPPORT_LARGE_DISKS=y
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONGOPTIONS=y
+CONFIG_LOSETUP=y
+CONFIG_MKSWAP=y
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_PIVOT_ROOT=y
+# CONFIG_RDATE is not set
+CONFIG_SWAPONOFF=y
+CONFIG_MOUNT=y
+CONFIG_NFSMOUNT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_MOUNT_FORCE=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/packages/e17/entrance/fix-auth-mode.patch b/packages/e17/entrance/fix-auth-mode.patch
new file mode 100644
index 0000000000..1ec520f768
--- /dev/null
+++ b/packages/e17/entrance/fix-auth-mode.patch
@@ -0,0 +1,11 @@
+--- entrance/data/config/build_config.sh.in~ 2006-01-30 07:01:47.000000000 -0800
++++ entrance/data/config/build_config.sh.in 2006-02-01 22:22:04.000000000 -0800
+@@ -3,7 +3,7 @@
+ rm -f $DB
+
+ # set auth to 1 for pam, 2 for shadow
+-ecore_config -c $DB -k /entrance/auth -i @auth_mode@
++ecore_config -c $DB -k /entrance/auth -i 0
+
+ # uncomment the below to enable experimental OpenGL hardware acceleration
+ #ecore_config -c $DB -k /entrance/engine -i 1
diff --git a/packages/e17/entrance_20060128.bb b/packages/e17/entrance_20060128.bb
index 3d4eacf73d..046ed481b3 100644
--- a/packages/e17/entrance_20060128.bb
+++ b/packages/e17/entrance_20060128.bb
@@ -6,7 +6,7 @@ DEPENDS = "edb edb-native evas-x11 ecore-x11 edje esmart-x11 bash keylaunch dete
RDEPENDS += "bash keylaunch detect-stylus xserver-common glibc-gconv-iso8859-1"
HOMEPAGE = "http://www.enlightenment.org"
MAINTAINER = "Justin Patrin <papercrane@reversefold.com>"
-PR = "r9"
+PR = "r10"
SRC_URI = "cvs://anonymous@thinktux.net/root;module=e17/apps/entrance;date=${PV} \
file://config-db.patch;patch=1 \
@@ -14,6 +14,7 @@ SRC_URI = "cvs://anonymous@thinktux.net/root;module=e17/apps/entrance;date=${PV}
file://run-Xinit.patch;patch=1 \
file://use-bash.patch;patch=1 \
file://set-display-env.patch;patch=1 \
+ file://fix-auth-mode.patch;patch=1 \
file://Sessions"
S = "${WORKDIR}/entrance"
diff --git a/packages/e2fsprogs/e2fsprogs_1.38.bb b/packages/e2fsprogs/e2fsprogs_1.38.bb
index 7431847dcb..e13aac5951 100644
--- a/packages/e2fsprogs/e2fsprogs_1.38.bb
+++ b/packages/e2fsprogs/e2fsprogs_1.38.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "EXT2 Filesystem Utilities"
HOMEPAGE = "http://e2fsprogs.sourceforge.net"
LICENSE = "GPL"
SECTION = "base"
-PR = "r4"
+PR = "r5"
SRC_URI = "${SOURCEFORGE_MIRROR}/e2fsprogs/e2fsprogs-${PV}.tar.gz \
file://no-hardlinks.patch;patch=1"
@@ -42,7 +42,7 @@ RDEPENDS_e2fsprogs = "e2fsprogs-blkid e2fsprogs-uuidgen"
PACKAGES =+ "e2fsprogs-blkid e2fsprogs-uuidgen e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-fsck e2fsprogs-tune2fs"
FILES_e2fsprogs-blkid = "${base_sbindir}/blkid"
-FILES_e2fsprogs-uuidgen = "${base_sbindir}/uuidgen"
+FILES_e2fsprogs-uuidgen = "${bindir}/uuidgen"
FILES_e2fsprogs-fsck = "${base_sbindir}/fsck"
FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*"
FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs ${base_sbindir}/mkfs.ext*"
diff --git a/packages/efl/evas-x11_20060113.bb b/packages/efl/evas-x11_20060113.bb
index d32565dd3b..06111c467c 100644
--- a/packages/efl/evas-x11_20060113.bb
+++ b/packages/efl/evas-x11_20060113.bb
@@ -1,6 +1,6 @@
include evas.inc
DEPENDS += "x11 xext freetype"
-PR = "r3"
+PR = "r4"
SRC_URI = "cvs://anonymous@thinktux.net/root;module=e17/libs/evas;date=${PV}"
S = "${WORKDIR}/evas"
@@ -9,7 +9,7 @@ EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11 \
--x-libraries=${STAGING_LIBDIR} \
--enable-fb \
--disable-directfb \
- --disable-buffer \
+ --enable-buffer \
--disable-software-qtopia \
--enable-software-x11 \
--disable-gl-x11 \
diff --git a/packages/gnome/goffice_0.2.0.bb b/packages/gnome/goffice_0.2.0.bb
new file mode 100644
index 0000000000..59372fa5ec
--- /dev/null
+++ b/packages/gnome/goffice_0.2.0.bb
@@ -0,0 +1,21 @@
+DESCRIPTION="Gnome Office Library"
+LICENSE="GPLv2"
+PR="r0"
+
+DEPENDS="glib-2.0 gtk+ pango libgnomeprint libgsf libglade libxml2 libart-lgpl"
+
+inherit gnome pkgconfig
+
+do_stage() {
+ gnome_stage_includes
+ oe_libinstall -so -C goffice libgoffice-1 ${STAGING_LIBDIR}
+}
+
+PACKAGES_DYNAMIC = "goffice-plugin-*"
+
+python populate_packages_prepend () {
+ goffice_libdir = bb.data.expand('${libdir}/goffice/${PV}/plugins', d)
+
+ do_split_packages(d, goffice_libdir, '(.*)', 'goffice-plugin-%s', 'Goffice plugin for %s', allow_dirs=True)
+}
+
diff --git a/packages/gnome/orbit2-2.13.2/.mtn2git_empty b/packages/gnome/orbit2-2.13.2/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gnome/orbit2-2.13.2/.mtn2git_empty
diff --git a/packages/gnome/orbit2-2.13.2/configure-lossage.patch b/packages/gnome/orbit2-2.13.2/configure-lossage.patch
new file mode 100644
index 0000000000..7485a0ce0c
--- /dev/null
+++ b/packages/gnome/orbit2-2.13.2/configure-lossage.patch
@@ -0,0 +1,35 @@
+--- orbit/configure.in~ 2004-05-07 09:31:32.000000000 +0100
++++ orbit/configure.in 2004-05-08 19:27:35.000000000 +0100
+@@ -193,19 +193,19 @@
+ dnl So many people with broken linking setups asked about this
+ dnl it turned out to be necessary to check for this.
+ dnl
+-dofus_save_libs="$LIBS"
+-LIBS="$ORBIT_LIBS $LIBS"
+-AC_TRY_RUN([ #include <stdio.h>
+- main ()
+- {
+- return 0;
+- } ],,
+- AC_MSG_ERROR([
+-Linking is badly borked on your system. Please ensure your library path is correct
+-Check config.log for details - check near the end of the log above 'failed program was'
+-Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the
+-prefix you're compiling on: '${prefix}' ]))
+-LIBS="$dofus_save_libs"
++dnl dofus_save_libs="$LIBS"
++dnl LIBS="$ORBIT_LIBS $LIBS"
++dnl AC_TRY_RUN([ #include <stdio.h>
++dnl main ()
++dnl {
++dnl return 0;
++dnl } ],,
++dnl AC_MSG_ERROR([
++dnl Linking is badly borked on your system. Please ensure your library path is correct
++dnl Check config.log for details - check near the end of the log above 'failed program was'
++dnl Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the
++dnl prefix you're compiling on: '${prefix}' ]))
++dnl LIBS="$dofus_save_libs"
+
+ orig_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $ORBIT_CFLAGS"
diff --git a/packages/gnome/orbit2-2.13.2/gtk-doc.m4 b/packages/gnome/orbit2-2.13.2/gtk-doc.m4
new file mode 100644
index 0000000000..3ec41666b2
--- /dev/null
+++ b/packages/gnome/orbit2-2.13.2/gtk-doc.m4
@@ -0,0 +1,53 @@
+dnl -*- mode: autoconf -*-
+
+# serial 1
+
+dnl Usage:
+dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
+AC_DEFUN([GTK_DOC_CHECK],
+[
+ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+ dnl for overriding the documentation installation directory
+ AC_ARG_WITH(html-dir,
+ AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
+ [with_html_dir='${datadir}/gtk-doc/html'])
+ HTML_DIR="$with_html_dir"
+ AC_SUBST(HTML_DIR)
+
+ dnl enable/disable documentation building
+ AC_ARG_ENABLE(gtk-doc,
+ AC_HELP_STRING([--enable-gtk-doc],
+ [use gtk-doc to build documentation [default=no]]),,
+ enable_gtk_doc=no)
+
+ have_gtk_doc=no
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+ if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
+ have_gtk_doc=yes
+ fi
+
+ dnl do we want to do a version check?
+ifelse([$1],[],,
+ [gtk_doc_min_version=$1
+ if test "$have_gtk_doc" = yes; then
+ AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
+ if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ have_gtk_doc=no
+ fi
+ fi
+])
+ if test x$enable_gtk_doc = xyes; then
+ if test "$have_gtk_doc" != yes; then
+ enable_gtk_doc=no
+ fi
+ fi
+
+ AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
+ AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
+])
diff --git a/packages/gnome/orbit2-2.13.2/gtk-doc.make b/packages/gnome/orbit2-2.13.2/gtk-doc.make
new file mode 100644
index 0000000000..c319e7ad7c
--- /dev/null
+++ b/packages/gnome/orbit2-2.13.2/gtk-doc.make
@@ -0,0 +1,148 @@
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+EXTRA_DIST = \
+ $(content_files) \
+ $(HTML_IMAGES) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE).types \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
+ $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-scan.o $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+all-local: html-build.stamp
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB)
+ @echo '*** Scanning header files ***'
+ @-chmod -R u+w $(srcdir)
+ if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
+ else \
+ cd $(srcdir) ; \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ cd $(srcdir) && \
+ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
+ @true
+
+#### templates ####
+
+tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @echo '*** Rebuilding template files ***'
+ @-chmod -R u+w $(srcdir)
+ cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
+ touch tmpl-build.stamp
+
+tmpl.stamp: tmpl-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
+ @echo '*** Building XML ***'
+ @-chmod -R u+w $(srcdir)
+ cd $(srcdir) && \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS)
+ touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo '*** Building HTML ***'
+ @-chmod -R u+w $(srcdir)
+ rm -rf $(srcdir)/html
+ mkdir $(srcdir)/html
+ cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
+ @echo '-- Fixing Crossreferences'
+ cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ touch html-build.stamp
+endif
+
+##############
+
+clean-local:
+ rm -f *~ *.bak
+
+maintainer-clean-local: clean
+ cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
+ (installfiles=`echo $(srcdir)/html/*`; \
+ if test "$$installfiles" = '$(srcdir)/html/*'; \
+ then echo '-- Nothing to install' ; \
+ else \
+ for i in $$installfiles; do \
+ echo '-- Installing '$$i ; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
+ done; \
+ echo '-- Installing $(srcdir)/html/index.sgml' ; \
+ $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
+ fi)
+
+uninstall-local:
+ rm -f $(DESTDIR)$(TARGET_DIR)/*
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+ mkdir $(distdir)/tmpl
+ mkdir $(distdir)/xml
+ mkdir $(distdir)/html
+ -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+ -cp $(srcdir)/xml/*.xml $(distdir)/xml
+ -cp $(srcdir)/html/* $(distdir)/html
+
+.PHONY : dist-hook-local
diff --git a/packages/gnome/orbit2-native_2.13.2.bb b/packages/gnome/orbit2-native_2.13.2.bb
new file mode 100644
index 0000000000..eba8c5eda3
--- /dev/null
+++ b/packages/gnome/orbit2-native_2.13.2.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "CORBA ORB"
+LICENSE = "LGPL GPL"
+SECTION = "x11/gnome/libs"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.13/ORBit2-${PV}.tar.bz2 \
+ file://configure-lossage.patch;patch=1;pnum=1 \
+ file://gtk-doc.m4 \
+ file://gtk-doc.make"
+DEPENDS = "libidl-native popt-native gtk-doc"
+
+S = "${WORKDIR}/ORBit2-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/orbit2-${PV}"
+
+inherit autotools native pkgconfig
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+do_configure_prepend() {
+ mkdir -p m4
+ install ${WORKDIR}/gtk-doc.m4 ./m4/
+ install ${WORKDIR}/gtk-doc.make ./
+}
diff --git a/packages/gnome/orbit2_2.13.2.bb b/packages/gnome/orbit2_2.13.2.bb
new file mode 100644
index 0000000000..ff80de00c8
--- /dev/null
+++ b/packages/gnome/orbit2_2.13.2.bb
@@ -0,0 +1,46 @@
+LICENSE = "GPL"
+PR = "r2"
+DESCRIPTION = "CORBA ORB"
+SECTION = "x11/gnome/libs"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.13/ORBit2-${PV}.tar.bz2 \
+ file://configure-lossage.patch;patch=1;pnum=1 \
+ file://gtk-doc.m4 \
+ file://gtk-doc.make"
+DEPENDS = "libidl popt orbit2-native gtk-doc"
+
+FILES_${PN} += "${libdir}/orbit-2.0/*.so"
+
+S = "${WORKDIR}/ORBit2-${PV}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-gtk-doc"
+EXTRA_OEMAKE = "IDL_COMPILER='${STAGING_BINDIR}/orbit-idl-2'"
+
+do_configure_prepend() {
+ mkdir -p m4
+ install ${WORKDIR}/gtk-doc.m4 ./m4/
+ install ${WORKDIR}/gtk-doc.make ./
+}
+
+do_compile_append () {
+ sed 's:^orbit_idl=.*/:orbit_idl=${STAGING_BINDIR}/:' < ORBit-2.0.pc > ORBit-2.0.pc.new
+ mv ORBit-2.0.pc.new ORBit-2.0.pc
+}
+
+do_stage() {
+ oe_libinstall -so -C src/orb libORBit-2 ${STAGING_LIBDIR}
+ oe_libinstall -so -C src/services/name libORBitCosNaming-2 ${STAGING_LIBDIR}
+ oe_libinstall -so -C src/services/imodule libORBit-imodule-2 ${STAGING_LIBDIR}
+ install -m 0644 src/services/name/libname-server-2.a ${STAGING_LIBDIR}/
+
+ for dir in orbit orbit/poa orbit/orb-core orbit/util orbit/dynamic; do
+ install -d ${STAGING_INCDIR}/orbit-2.0/$dir
+ ( cd include/$dir; for i in *.h; do install -m 0644 $i ${STAGING_INCDIR}/orbit-2.0/$dir/$i; done )
+ done
+
+ install -d ${STAGING_INCDIR}/orbit-2.0/ORBitservices
+ install -m 0644 src/services/name/CosNaming.h ${STAGING_INCDIR}/orbit-2.0/ORBitservices/
+ install -m 0644 src/services/name/CosNaming_impl.h ${STAGING_INCDIR}/orbit-2.0/ORBitservices/
+ install -m 0644 src/services/imodule/orbit-imodule.h ${STAGING_INCDIR}/orbit-2.0/ORBitservices/
+}
diff --git a/packages/gnumeric/gnumeric_1.6.2.bb b/packages/gnumeric/gnumeric_1.6.2.bb
new file mode 100644
index 0000000000..18ab5472a4
--- /dev/null
+++ b/packages/gnumeric/gnumeric_1.6.2.bb
@@ -0,0 +1,20 @@
+LICENSE = "GPL"
+SECTION = "x11/utils"
+S = "${WORKDIR}/gnumeric-${PV}"
+MAINTAINER = "Koen Kooi <koen@handhelds.org>"
+DEPENDS = "libgsf gtk+ libxml2 goffice libglade libart-lgpl intltool-native libgnomecanvas libgnomeprint libgnomeprintui libbonoboui"
+DESCRIPTION = "Gnumeric spreadsheet for GNOME"
+
+inherit gnome flow-lossage
+
+SRC_URI += "file://remove-docs.patch;patch=1"
+
+EXTRA_OECONF=" --without-perl "
+
+PACKAGES_DYNAMIC = "gnumeric-plugin-*"
+
+python populate_packages_prepend () {
+ gnumeric_libdir = bb.data.expand('${libdir}/gnumeric/${PV}/plugins', d)
+
+ do_split_packages(d, gnumeric_libdir, '(.*)', 'gnumeric-plugin-%s', 'Gnumeric plugin for %s', allow_dirs=True)
+}
diff --git a/packages/lirc/files/lircd.init b/packages/lirc/files/lircd.init
index 4bb2b7ee0a..11ce62447f 100755
--- a/packages/lirc/files/lircd.init
+++ b/packages/lirc/files/lircd.init
@@ -7,6 +7,7 @@
test -f /usr/sbin/lircd || exit 0
+test -f /etc/lircd.conf || exit 0
case "$1" in
start)
diff --git a/packages/lirc/files/lircexec.init b/packages/lirc/files/lircexec.init
index a9724af0fa..d3329bdc37 100755
--- a/packages/lirc/files/lircexec.init
+++ b/packages/lirc/files/lircexec.init
@@ -8,6 +8,7 @@
test -f /usr/bin/irexec || exit 0
+test -f /etc/lircrc || exit 0
case "$1" in
start)
diff --git a/packages/lirc/lirc-modules_0.7.2+0.8.0pre4.bb b/packages/lirc/lirc-modules_0.8.0.bb
index 67e83b1b52..fb765d595c 100644
--- a/packages/lirc/lirc-modules_0.7.2+0.8.0pre4.bb
+++ b/packages/lirc/lirc-modules_0.8.0.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls."
+DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls. This package contains the lirc kernel modules."
SECTION = "base"
PRIORITY = "optional"
MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
@@ -8,23 +8,23 @@ DEPENDS = "virtual/kernel fakeroot-native setserial"
RDEPENDS_nslu2 = "setserial"
PR = "r1"
-SRC_URI = "http://lirc.sourceforge.net/software/snapshots/lirc-0.8.0pre4.tar.bz2"
-S = "${WORKDIR}/lirc-0.8.0pre4"
+SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz"
+S = "${WORKDIR}/lirc-${PV}"
-inherit autotools module-base
+inherit autotools module
include lirc-config.inc
-do_compile() {
- # ${KERNEL_LD} doesn't understand the LDFLAGS, so suppress them
- cd drivers && oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" LDFLAGS=""
-}
+MAKE_TARGETS = "KERNEL_PATH=${STAGING_KERNEL_DIR} MAKE='make -e' -C drivers"
fakeroot do_install() {
oe_runmake -C drivers DESTDIR="${D}" moduledir="/lib/modules/${KERNEL_VERSION}/lirc" install
rm -rf ${D}/dev
}
+# nslu2 uses udev, so /dev/lirc0 will be created automatically
+# and /dev/lirc will be created by /etc/udev/rules.d/lirc.rules
+# (that's the kernel-2.6+udev solution)
do_install_append_nslu2() {
install -d ${D}${sysconfdir}/modutils/
echo 'lirc_serial' > ${D}${sysconfdir}/modutils/lirc_serial
@@ -34,26 +34,9 @@ do_install_append_nslu2() {
echo 'KERNEL="lirc0", SYMLINK="lirc"' > ${D}${sysconfdir}/udev/rules.d/lirc.rules
}
-pkg_postinst() {
-#!/bin/sh
-set -e
-if [ ! -c $D/dev/lirc ]; then mknod $D/dev/lirc c 61 0; fi
-exit 0
-}
-
-# nslu2 uses udev, so /dev/lirc0 will be created automatically
-# and /dev/lirc will be created by /etc/udev/rules.d/lirc.rules
-# (that's the kernel-2.6+udev solution)
-pkg_postinst_nslu2() {
- depmod -a
- update-modules
-}
-pkg_prerm_nslu2() {
- rmmod lirc_serial
- rmmod lirc_dev
-}
-pkg_postrm_nslu2() {
- update-modules
+# this is for distributions that don't use udev
+pkg_postinst_append() {
+if [ ! -c $D/dev/lirc -a ! -f /sbin/udevd ]; then mknod $D/dev/lirc c 61 0; fi
}
FILES_${PN} = "/lib/modules"
diff --git a/packages/lirc/lirc_0.7.2+0.8.0pre4.bb b/packages/lirc/lirc_0.8.0.bb
index ec3c204244..9a9278425d 100644
--- a/packages/lirc/lirc_0.7.2+0.8.0pre4.bb
+++ b/packages/lirc/lirc_0.8.0.bb
@@ -1,4 +1,9 @@
DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls."
+DESCRIPTION_append_lirc = " This package contains the lirc daemon, libraries and tools."
+DESCRIPTION_append_lirc-x = " This package contains lirc tools for X11."
+DESCRIPTION_append_lirc-exec = " This package contains a daemon that runs programs on IR signals."
+DESCRIPTION_append_lirc-remotes = " This package contains some config files for remotes."
+DESCRIPTION_append_lirc-nslu2example = " This package contains a working config for RC5 remotes and a modified NSLU2."
SECTION = "console/network"
PRIORITY = "optional"
MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
@@ -12,17 +17,20 @@ RDEPENDS_lirc-exec = "lirc"
RDEPENDS_lirc-nslu2example = "lirc lirc-exec"
PR = "r1"
-SRC_URI = "http://lirc.sourceforge.net/software/snapshots/lirc-0.8.0pre4.tar.bz2 \
+SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz \
file://lircd.init file://lircmd.init"
SRC_URI_append_nslu2 = " file://lircexec.init \
file://lircd.conf_nslu2 file://lircrc_nslu2"
-S = "${WORKDIR}/lirc-0.8.0pre4"
+S = "${WORKDIR}/lirc-${PV}"
inherit autotools module-base update-rc.d
+INITSCRIPT_PACKAGES = "lirc lirc-exec"
INITSCRIPT_NAME = "lircd"
INITSCRIPT_PARAMS = "defaults 20"
+INITSCRIPT_NAME_lirc-exec = "lircexec"
+INITSCRIPT_PARAMS_lirc-exec = "defaults 21"
include lirc-config.inc
@@ -40,28 +48,15 @@ do_install_append() {
install ${WORKDIR}/lircexec.init ${D}${sysconfdir}/init.d/lircexec
install -d ${D}${datadir}/lirc/
cp -pPR ${S}/remotes ${D}${datadir}/lirc/
+ rm -rf ${D}/dev
}
do_install_append_nslu2() {
install -d ${D}${sysconfdir}
- # These are example configs for RC5 remotes and a NSLU2.
- # As RC5 is very common, it should work for many people out of the box.
- # The timings are for a de-underclocked NSLU2.
install ${WORKDIR}/lircd.conf_nslu2 ${D}${sysconfdir}/lircd.conf
install ${WORKDIR}/lircrc_nslu2 ${D}${sysconfdir}/lircrc
}
-pkg_postinst_lirc-exec() {
- if test "x$D" != "x"; then D="-r $D"; else D="-s"; fi
- update-rc.d $D lircexec defaults 20
-}
-pkg_prerm_lirc-exec() {
- if test "x$D" != "x"; then D="-r $D"; else /etc/init.d/lircexec stop; fi
-}
-pkg_postrm_lirc-exec() {
- update-rc.d $D lircexec remove
-}
-
PACKAGES =+ "lirc-x lirc-exec lirc-remotes"
PACKAGES_prepend_nslu2 = "lirc-nslu2example "
diff --git a/packages/openssh/openssh_4.0p1.bb b/packages/openssh/openssh_4.0p1.bb
index 2146813f83..e41b8f655c 100644
--- a/packages/openssh/openssh_4.0p1.bb
+++ b/packages/openssh/openssh_4.0p1.bb
@@ -11,7 +11,7 @@ used to provide applications with a secure communication channel."
HOMEPAGE = "http://www.openssh.org/"
LICENSE = "BSD"
MAINTAINER = "Bruno Randolf <bruno.randolf@4g-systems.biz>"
-PR = "r5"
+PR = "r6"
SRC_URI = "ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
file://configure.patch;patch=1 \
@@ -29,7 +29,8 @@ EXTRA_OECONF = "--disable-suid-ssh --with-ssl=${STAGING_LIBDIR}/ssl \
--with-rand-helper=no --without-pam \
--without-zlib-version-check \
--with-privsep-path=/var/run/sshd \
- --sysconfdir=${sysconfdir}/ssh"
+ --sysconfdir=${sysconfdir}/ssh \
+ --with-xauth=/usr/bin/xauth"
EXTRA_OEMAKE = "'STRIP_OPT='"
diff --git a/packages/udev/udev-084/.mtn2git_empty b/packages/udev/udev-084/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/udev/udev-084/.mtn2git_empty
diff --git a/packages/udev/udev-084/flags.patch b/packages/udev/udev-084/flags.patch
new file mode 100644
index 0000000000..f144a5f622
--- /dev/null
+++ b/packages/udev/udev-084/flags.patch
@@ -0,0 +1,52 @@
+--- udev-081/Makefile.orig 2006-01-29 12:36:33.000000000 +0100
++++ udev-081/Makefile 2006-01-29 12:36:58.000000000 +0100
+@@ -123,29 +123,29 @@
+ STRIP = $(CROSS)strip
+ STRIPCMD = $(STRIP) -s
+
+-CFLAGS = -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
++override CFLAGS = -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
+ WARNINGS = -Wstrict-prototypes -Wsign-compare -Wshadow \
+ -Wchar-subscripts -Wmissing-declarations -Wnested-externs \
+ -Wpointer-arith -Wcast-align -Wsign-compare -Wmissing-prototypes
+-CFLAGS += $(WARNINGS)
++override CFLAGS += $(WARNINGS)
+
+ LDFLAGS = -Wl,-warn-common
+
+ OPTFLAGS = -Os
+-CFLAGS += $(OPTFLAGS)
++override CFLAGS += $(OPTFLAGS)
+
+ ifeq ($(strip $(USE_LOG)),true)
+- CFLAGS += -DUSE_LOG
++ override CFLAGS += -DUSE_LOG
+ endif
+
+ # if DEBUG is enabled, then we do not strip
+ ifeq ($(strip $(DEBUG)),true)
+- CFLAGS += -DDEBUG
++ override CFLAGS += -DDEBUG
+ STRIPCMD =
+ endif
+
+ ifeq ($(strip $(USE_GCOV)),true)
+- CFLAGS += -fprofile-arcs -ftest-coverage
++ override CFLAGS += -fprofile-arcs -ftest-coverage
+ LDFLAGS += -fprofile-arcs
+ endif
+
+@@ -160,11 +160,11 @@
+ ifeq ($(strip $(USE_SELINUX)),true)
+ UDEV_OBJS += udev_selinux.o
+ LIB_OBJS += -lselinux -lsepol
+- CFLAGS += -DUSE_SELINUX
++ override CFLAGS += -DUSE_SELINUX
+ endif
+
+ ifeq ($(strip $(USE_STATIC)),true)
+- CFLAGS += -DUSE_STATIC
++ override CFLAGS += -DUSE_STATIC
+ LDFLAGS += -static
+ endif
+
diff --git a/packages/udev/udev-084/init b/packages/udev/udev-084/init
new file mode 100644
index 0000000000..d3983df6bc
--- /dev/null
+++ b/packages/udev/udev-084/init
@@ -0,0 +1,227 @@
+#!/bin/sh -e
+### BEGIN INIT INFO
+# Provides: udev
+# Required-Start: mountvirtfs
+# Required-Stop:
+# Default-Start: S
+# Default-Stop:
+# Short-Description: Start udevd, populate /dev and load drivers.
+### END INIT INFO
+
+# we need to unmount /dev/pts/ and remount it later over the tmpfs
+unmount_devpts() {
+ if mountpoint -q /dev/pts/; then
+ umount -l /dev/pts/
+ fi
+
+ if mountpoint -q /dev/shm/; then
+ umount -l /dev/shm/
+ fi
+}
+
+# mount a tmpfs over /dev, if somebody did not already do it
+mount_tmpfs() {
+ if grep -E -q "^[^[:space:]]+ /dev tmpfs" /proc/mounts; then
+ return
+ fi
+
+ # /dev/.static/dev/ is used by MAKEDEV to access the real /dev/ directory.
+ # /etc/udev/ is recycled as a temporary mount point because it's the only
+ # directory which is guaranteed to be available.
+ mount -n -o bind /dev /etc/udev
+
+ if ! mount -n -o size=$tmpfs_size,mode=0755 -t tmpfs tmpfs /dev; then
+ umount /etc/udev
+ echo "udev requires tmpfs support, not started."
+ exit 1
+ fi
+
+ mkdir -p /dev/.static/dev
+ chmod 700 /dev/.static/
+ # The mount options in busybox are non-standard...
+ if test -x /bin/mount.util-linux
+ then
+ /bin/mount.util-linux --move /etc/udev /dev/.static/dev
+ elif test -x /bin/busybox
+ then
+ busybox mount -n -o move /etc/udev /dev/.static/dev
+ else
+ echo "udev requires an identifiable mount command, not started."
+ umount /etc/udev
+ umount /dev
+ exit 1
+ fi
+}
+
+# I hate this hack. -- Md
+make_extra_nodes() {
+ if [ "$(echo /lib/udev/devices/*)" != "/lib/udev/devices/*" ]; then
+ cp --preserve=all --recursive --update /lib/udev/devices/* /dev/
+ fi
+
+ [ -e /etc/udev/links.conf ] || return 0
+ grep '^[^#]' /etc/udev/links.conf | \
+ while read type name arg1; do
+ [ "$type" -a "$name" -a ! -e "/dev/$name" -a ! -L "/dev/$name" ] ||continue
+ case "$type" in
+ L) ln -s $arg1 /dev/$name ;;
+ D) mkdir -p /dev/$name ;;
+ M) mknod -m 600 /dev/$name $arg1 ;;
+ *) echo "links.conf: unparseable line ($type $name $arg1)" ;;
+ esac
+ done
+}
+
+supported_kernel() {
+ case "$(uname -r)" in
+ 2.[012345].*|2.6.[0-9]|2.6.[0-9][!0-9]*) return 1 ;;
+ 2.6.1[01]|2.6.1[01][!0-9]*) return 1 ;;
+ esac
+ return 0
+}
+
+set_hotplug_handler() {
+ case "$(uname -r)" in
+ 2.6.1[0-4]|2.6.1[0-4][!0-9]*) HANDLER='/sbin/udevsend' ;;
+ esac
+ echo $HANDLER > /proc/sys/kernel/hotplug
+}
+
+# shell version of /usr/bin/tty
+my_tty() {
+ [ -x /bin/readlink ] || return 0
+ [ -e /proc/self/fd/0 ] || return 0
+ readlink --silent /proc/self/fd/0 || true
+}
+
+warn_if_interactive() {
+ if [ "$RUNLEVEL" = "S" -a "$PREVLEVEL" = "N" ]; then
+ return
+ fi
+
+ TTY=$(my_tty)
+ if [ -z "$TTY" -o "$TTY" = "/dev/console" ]; then
+ return
+ fi
+
+ printf "\n\n\nIt has been detected that the command\n\n\t$0 $*\n\n"
+ printf "has been run from an interactive shell.\n"
+ printf "It will probably not do what you expect, so this script will wait\n"
+ printf "60 seconds before continuing. Press ^C to stop it.\n"
+ printf "RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!\n\n\n\n"
+ sleep 60
+}
+
+##############################################################################
+
+PATH="/sbin:/bin:/usr/bin"
+
+[ -x /sbin/udevd ] || exit 0
+
+# defaults
+tmpfs_size="10M"
+udev_root="/dev"
+udevd_timeout=30
+
+. /etc/udev/udev.conf
+
+if ! supported_kernel; then
+ echo "udev requires a kernel >= 2.6.12, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/filesystems ]; then
+ echo "udev requires a mounted procfs, not started."
+ exit 1
+fi
+
+if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
+ echo "udev requires tmpfs support, not started."
+ exit 1
+fi
+
+if [ ! -d /sys/class/ ]; then
+ echo "udev requires a mounted sysfs, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/sys/kernel/hotplug ]; then
+ echo "udev requires hotplug support, not started."
+ exit 1
+fi
+
+##############################################################################
+
+# When modifying this script, do not forget that between the time that
+# the new /dev has been mounted and udevsynthesize has been run there will be
+# no /dev/null. This also means that you cannot use the "&" shell command.
+
+case "$1" in
+ start)
+ if [ -e "$udev_root/.udev/" ]; then
+ if mountpoint -q /dev/; then
+ TMPFS_MOUNTED=1
+ else
+ echo ".udev/ already exists on the static $udev_root!"
+ fi
+ else
+ warn_if_interactive
+ fi
+
+ echo "Starting the hotplug events dispatcher" "udevd"
+ udevd --daemon
+
+ set_hotplug_handler
+
+ if [ -z "$TMPFS_MOUNTED" ]; then
+ unmount_devpts
+ mount_tmpfs
+ [ -d /proc/1 ] || mount -n /proc
+ fi
+
+ # if this directory is not present /dev will not be updated by udev
+ mkdir -p /dev/.udev/ /dev/.udev/db/ /dev/.udev/queue/ /dev/.udevdb/
+ # /dev/null must be created before udevd is started
+ make_extra_nodes
+
+ echo "Synthesizing the initial hotplug events"
+ udevsynthesize
+
+ # wait for the udevd childs to finish
+ echo "Waiting for /dev to be fully populated"
+ while [ -d /dev/.udev/queue/ ]; do
+ sleep 1
+ udevd_timeout=$(($udevd_timeout - 1))
+ if [ $udevd_timeout -eq 0 ]; then
+ # ps axf
+ break
+ fi
+ done
+ if [ $udevd_timeout -eq 0 ]; then
+ echo 'timeout'
+ fi
+ ;;
+
+ stop)
+ echo "Stopping the hotplug events dispatcher" "udevd"
+ start-stop-daemon --stop --name udevd --quiet --oknodo --retry 5
+ ;;
+
+ restart|force-reload)
+ echo "Stopping the hotplug events dispatcher" "udevd"
+ if start-stop-daemon --stop --name udevd --quiet --oknodo --retry 5; then
+ exit 1
+ fi
+
+ echo "Starting the hotplug events dispatcher" "udevd"
+ udevd --daemon
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/udev {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/packages/udev/udev-084/noasmlinkage.patch b/packages/udev/udev-084/noasmlinkage.patch
new file mode 100644
index 0000000000..0d8e854c0e
--- /dev/null
+++ b/packages/udev/udev-084/noasmlinkage.patch
@@ -0,0 +1,38 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- udev-062/udev.c~noasmlinkage.patch
++++ udev-062/udev.c
+@@ -54,7 +54,7 @@
+ }
+ #endif
+
+-static void asmlinkage sig_handler(int signum)
++static void sig_handler(int signum)
+ {
+ switch (signum) {
+ case SIGALRM:
+--- udev-062/udevd.c~noasmlinkage.patch
++++ udev-062/udevd.c
+@@ -639,7 +639,7 @@
+ return msg;
+ }
+
+-static void asmlinkage sig_handler(int signum)
++static void sig_handler(int signum)
+ {
+ int rc;
+
+--- udev-062/udevstart.c~noasmlinkage.patch
++++ udev-062/udevstart.c
+@@ -323,7 +323,7 @@
+ exec_list(&device_list);
+ }
+
+-static void asmlinkage sig_handler(int signum)
++static void sig_handler(int signum)
+ {
+ switch (signum) {
+ case SIGALRM:
diff --git a/packages/udev/udev-084/udevsynthesize.patch b/packages/udev/udev-084/udevsynthesize.patch
new file mode 100644
index 0000000000..7811188485
--- /dev/null
+++ b/packages/udev/udev-084/udevsynthesize.patch
@@ -0,0 +1,776 @@
+--- udev-081/udevsynthesize.c.orig 2006-01-29 12:22:45.000000000 +0100
++++ udev-081/udevsynthesize.c 2006-01-29 12:22:40.000000000 +0100
+@@ -0,0 +1,763 @@
++/*
++ * udevcoldplug.c
++ *
++ * Copyright (C) 2005 SUSE Linux Products GmbH
++ *
++ * Author:
++ * Kay Sievers <kay.sievers@vrfy.org>
++ *
++ * Synthesize kernel events from sysfs information and pass them
++ * to the udevd daemon.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by the
++ * Free Software Foundation version 2 of the License.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 675 Mass Ave, Cambridge, MA 02139, USA.
++ *
++ */
++
++#include <stdlib.h>
++#include <stddef.h>
++#include <string.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <errno.h>
++#include <ctype.h>
++#include <fcntl.h>
++#include <dirent.h>
++#include <signal.h>
++#include <syslog.h>
++#include <sys/socket.h>
++#include <sys/un.h>
++#include <sys/wait.h>
++#include <sys/stat.h>
++#include <sys/types.h>
++
++#include "udev_libc_wrapper.h"
++#include "udev.h"
++#include "udevd.h"
++#include "udev_version.h"
++#include "logging.h"
++
++#include "list.h"
++
++#ifndef DT_DIR
++#define DT_DIR 4
++#endif
++
++static const char *udev_log_str;
++static int udevd_sock = -1;
++
++#ifdef USE_LOG
++void log_message(int priority, const char *format, ...)
++{
++ va_list args;
++
++ if (priority > udev_log_priority)
++ return;
++
++ va_start(args, format);
++ vsyslog(priority, format, args);
++ va_end(args);
++}
++#endif
++
++struct device {
++ struct list_head node;
++ struct udevd_msg msg;
++ size_t bufpos;
++ char *path;
++};
++
++static dev_t read_devt(const char *path)
++{
++ char filename[PATH_SIZE];
++ char majorminor[64];
++ unsigned int major, minor;
++ ssize_t count;
++ int fd;
++
++ snprintf(filename, sizeof(filename), "%s/%s", path, "dev");
++ filename[sizeof(filename)-1] = '\0';
++
++ fd = open(filename, O_RDONLY);
++ if (fd < 0)
++ return 0;
++
++ count = read(fd, majorminor, sizeof(majorminor));
++ close(fd);
++ majorminor[count] = '\0';
++ if (sscanf(majorminor, "%u:%u", &major, &minor) != 2)
++ return 0;
++ dbg("found major=%d, minor=%d", major, minor);
++
++ return makedev(major, minor);
++}
++
++static ssize_t read_file(const char *directory, const char *file, char *str, size_t len)
++{
++ char filename[PATH_SIZE];
++ ssize_t count;
++ int fd;
++
++ memset(filename, 0, sizeof(filename));
++ snprintf(filename, sizeof(filename), "%s/%s", directory, file);
++ filename[sizeof(filename)-1] = '\0';
++
++ fd = open(filename, O_RDONLY);
++ if (fd < 0)
++ return -1;
++
++ count = read(fd, str, len-1);
++ close(fd);
++
++ if (count > (ssize_t)len)
++ count = len;
++ str[count-1] = '\0';
++
++ return count;
++}
++
++static ssize_t read_link(const char *directory, const char *file, char *str, size_t size)
++{
++ char filename[PATH_SIZE];
++ char target[PATH_SIZE];
++ int len;
++ char *back;
++ char *strip;
++ int level = 1;
++
++ snprintf(filename, sizeof(filename), "%s/%s", directory, file);
++ filename[sizeof(filename)-1] = '\0';
++
++ len = readlink(filename, target, sizeof(target)-1);
++ if (len < 0)
++ return -1;
++ target[len] = '\0';
++
++ back = target;
++ while (strncmp(back, "../", 3) == 0) {
++ back += 3;
++ level++;
++ }
++ while(level--) {
++ strip = strrchr(filename, '/');
++ if (!strip)
++ return -1;
++ strip[0] = '\0';
++ }
++
++ snprintf(str, size, "%s/%s", filename, back);
++ str[size-1] = '\0';
++
++ return len;
++}
++
++static char *add_env_key(struct device *device, const char *key, const char *value)
++{
++ size_t pos = device->bufpos;
++ device->bufpos += sprintf(&device->msg.envbuf[device->bufpos], "%s=%s", key, value)+1;
++ return &device->msg.envbuf[pos];
++}
++
++static struct device *device_create(const char *path, const char *subsystem, dev_t devt)
++{
++ struct device *device;
++ const char *devpath = &path[strlen(sysfs_path)];
++ char target[PATH_SIZE];
++
++ device = malloc(sizeof(struct device));
++ if (device == NULL) {
++ dbg("error malloc");
++ return NULL;
++ }
++ memset(device, 0x00, sizeof(struct device));
++
++ device->path = add_env_key(device, "DEVPATH", devpath);
++ device->path += strlen("DEVPATH=");
++ add_env_key(device, "SUBSYSTEM", subsystem);
++ add_env_key(device, "ACTION", "add");
++ add_env_key(device, "UDEV_COLDPLUG", "1");
++
++ if (major(devt)) {
++ char number[32];
++ sprintf(number, "%u", major(devt));
++ add_env_key(device, "MAJOR", number);
++ sprintf(number, "%u", minor(devt));
++ add_env_key(device, "MINOR", number);
++ }
++
++ if (strncmp(devpath, "/block/", strlen("/block/")) == 0 ||
++ strncmp(devpath, "/class/", strlen("/class/")) == 0) {
++ char physpath[PATH_SIZE];
++
++ if (read_link(path, "device", physpath, sizeof(physpath)) > (ssize_t)strlen(sysfs_path)) {
++ add_env_key(device, "PHYSDEVPATH", &physpath[strlen(sysfs_path)]);
++ if (read_link(physpath, "driver", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) {
++ char *pos = strrchr(target, '/');
++ if (pos)
++ add_env_key(device, "PHYSDEVDRIVER", &pos[1]);
++ }
++ if (read_link(physpath, "bus", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) {
++ char *pos = strrchr(target, '/');
++ if (pos)
++ add_env_key(device, "PHYSDEVBUS", &pos[1]);
++ }
++ }
++ } else if (strncmp(devpath, "/devices/", strlen("/devices/")) == 0) {
++ if (read_link(path, "driver", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) {
++ char *pos = strrchr(target, '/');
++ if (pos)
++ add_env_key(device, "PHYSDEVDRIVER", &pos[1]);
++ }
++ if (read_link(path, "bus", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) {
++ char *pos = strrchr(target, '/');
++ if (pos)
++ add_env_key(device, "PHYSDEVBUS", &pos[1]);
++ }
++ }
++
++ return device;
++}
++
++static int device_list_insert(struct list_head *device_list, struct device *device)
++{
++ struct device *loop_device;
++
++ dbg("insert: '%s'", device->path);
++
++ /* sort files in lexical order */
++ list_for_each_entry(loop_device, device_list, node)
++ if (strcmp(loop_device->path, device->path) > 0)
++ break;
++
++ list_add_tail(&device->node, &loop_device->node);
++
++ return 0;
++}
++
++static int add_device_udevd(struct device *device)
++{
++ size_t msg_len;
++ struct sockaddr_un saddr;
++ socklen_t addrlen;
++ int retval;
++
++ memset(&saddr, 0x00, sizeof(struct sockaddr_un));
++ saddr.sun_family = AF_LOCAL;
++ /* use abstract namespace for socket path */
++ strcpy(&saddr.sun_path[1], UDEVD_SOCK_PATH);
++ addrlen = offsetof(struct sockaddr_un, sun_path) + strlen(saddr.sun_path+1) + 1;
++
++ strcpy(device->msg.magic, UDEV_MAGIC);
++ device->msg.type = UDEVD_UEVENT_UDEVSEND;
++
++ msg_len = offsetof(struct udevd_msg, envbuf) + device->bufpos;
++ dbg("msg_len=%i", msg_len);
++
++ retval = sendto(udevd_sock, &device->msg, msg_len, 0, (struct sockaddr *)&saddr, addrlen);
++ if (retval < 0)
++ return -1;
++
++ return 0;
++}
++
++static void exec_list(struct list_head *device_list, const char *first[], const char *last[])
++{
++ struct device *loop_device;
++ struct device *tmp_device;
++ int i;
++
++ /* handle the "first" type devices first */
++ if (first)
++ list_for_each_entry_safe(loop_device, tmp_device, device_list, node) {
++ for (i = 0; first[i] != NULL; i++) {
++ if (strncmp(loop_device->path, first[i], strlen(first[i])) == 0) {
++ add_device_udevd(loop_device);
++ list_del(&loop_device->node);
++ free(loop_device);
++ break;
++ }
++ }
++ }
++
++ /* handle the devices we are allowed to, excluding the "last" type devices */
++ if (last)
++ list_for_each_entry_safe(loop_device, tmp_device, device_list, node) {
++ int found = 0;
++ for (i = 0; last[i] != NULL; i++) {
++ if (strncmp(loop_device->path, last[i], strlen(last[i])) == 0) {
++ found = 1;
++ break;
++ }
++ }
++ if (found)
++ continue;
++
++ add_device_udevd(loop_device);
++ list_del(&loop_device->node);
++ free(loop_device);
++ }
++
++ /* handle the rest of the devices */
++ list_for_each_entry_safe(loop_device, tmp_device, device_list, node) {
++ add_device_udevd(loop_device);
++ list_del(&loop_device->node);
++ free(loop_device);
++ }
++}
++
++static int udev_scan_class(void)
++{
++ char base[PATH_SIZE];
++ DIR *dir;
++ struct dirent *dent;
++ LIST_HEAD(device_list);
++
++ /* we want /dev/null and /dev/console first */
++ const char *first[] = {
++ "/class/mem",
++ "/class/tty",
++ NULL,
++ };
++
++ snprintf(base, sizeof(base), "%s/class", sysfs_path);
++ base[sizeof(base)-1] = '\0';
++
++ dir = opendir(base);
++ if (!dir)
++ return -1;
++
++ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
++ char dirname[PATH_SIZE];
++ DIR *dir2;
++ struct dirent *dent2;
++
++ if (dent->d_name[0] == '.')
++ continue;
++
++ snprintf(dirname, sizeof(dirname), "%s/%s", base, dent->d_name);
++ dirname[sizeof(dirname)-1] = '\0';
++
++ dir2 = opendir(dirname);
++ if (!dir2)
++ continue;
++ for (dent2 = readdir(dir2); dent2 != NULL; dent2 = readdir(dir2)) {
++ char dirname2[PATH_SIZE];
++ struct device *device;
++ dev_t devt;
++
++ if (dent2->d_name[0] == '.')
++ continue;
++ if (dent2->d_type != DT_DIR)
++ continue;
++
++ snprintf(dirname2, sizeof(dirname2), "%s/%s", dirname, dent2->d_name);
++ dirname2[sizeof(dirname2)-1] = '\0';
++ devt = read_devt(dirname2);
++ device = device_create(dirname2, dent->d_name, devt);
++
++ if (strcmp(dent->d_name, "net") == 0 ||
++ strcmp(dent->d_name, "bluetooth") == 0) {
++ add_env_key(device, "INTERFACE", dent2->d_name);
++ } else if (strcmp(dent->d_name, "pcmcia_socket") == 0 &&
++ strlen(dent->d_name) > 14) {
++ add_env_key(device, "SOCKET_NO",
++ dent2->d_name + 14);
++ }
++
++ device_list_insert(&device_list, device);
++ }
++ closedir(dir2);
++ }
++ closedir(dir);
++ exec_list(&device_list, first, NULL);
++
++ return 0;
++}
++
++static int udev_scan_block(void)
++{
++ char base[PATH_SIZE];
++ DIR *dir;
++ struct dirent *dent;
++ LIST_HEAD(device_list);
++
++ /* dm wants to have the block devices around before it */
++ const char *last[] = {
++ "/block/dm",
++ NULL,
++ };
++
++ snprintf(base, sizeof(base), "%s/block", sysfs_path);
++ base[sizeof(base)-1] = '\0';
++
++ dir = opendir(base);
++ if (!dir)
++ return -1;
++
++ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
++ char dirname[PATH_SIZE];
++ struct device *device;
++ struct dirent *dent2;
++ DIR *dir2;
++ dev_t devt;
++
++ if (dent->d_name[0] == '.')
++ continue;
++ if (dent->d_type != DT_DIR)
++ continue;
++
++ snprintf(dirname, sizeof(dirname), "%s/%s", base, dent->d_name);
++ dirname[sizeof(dirname)-1] = '\0';
++ devt = read_devt(dirname);
++ if (major(devt)) {
++ device = device_create(dirname, "block", devt);
++ device_list_insert(&device_list, device);
++ }
++
++ /* look for partitions */
++ dir2 = opendir(dirname);
++ if (!dir2)
++ continue;
++ for (dent2 = readdir(dir2); dent2 != NULL; dent2 = readdir(dir2)) {
++ char dirname2[PATH_SIZE];
++
++ if (dent2->d_name[0] == '.')
++ continue;
++ if (dent2->d_type != DT_DIR)
++ continue;
++
++ snprintf(dirname2, sizeof(dirname2), "%s/%s", dirname, dent2->d_name);
++ dirname2[sizeof(dirname2)-1] = '\0';
++ devt = read_devt(dirname2);
++ if (major(devt)) {
++ device = device_create(dirname2, "block", devt);
++ device_list_insert(&device_list, device);
++ continue;
++ }
++ }
++ closedir(dir2);
++ }
++ closedir(dir);
++ exec_list(&device_list, NULL, last);
++
++ return 0;
++}
++
++static int pci_handler(struct device *device)
++{
++ char path[PATH_SIZE];
++ char value[PATH_SIZE];
++ char vendor[PATH_SIZE];
++ char product[PATH_SIZE];
++ const char *name;
++
++ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path);
++ path[sizeof(path)-1] = '\0';
++
++ if (read_file(path, "modalias", value, sizeof(value)) > 0)
++ add_env_key(device, "MODALIAS", value);
++
++ name = strrchr(device->path, '/');
++ if (name)
++ add_env_key(device, "PCI_SLOT_NAME", &name[1]);
++
++ if (read_file(path, "class", value, sizeof(value)) > 0)
++ add_env_key(device, "PCI_CLASS", &value[2]);
++
++ if (read_file(path, "vendor", vendor, sizeof(vendor)) > 0 &&
++ read_file(path, "device", product, sizeof(product)) > 0) {
++ snprintf(value, sizeof(value), "%s:%s", &vendor[2], &product[2]);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "PCI_ID", value);
++ }
++
++ if (read_file(path, "subsystem_vendor", vendor, sizeof(vendor)) > 0 &&
++ read_file(path, "subsystem_device", product, sizeof(product)) > 0) {
++ snprintf(value, sizeof(value), "%s:%s", &vendor[2], &product[2]);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "PCI_SUBSYS_ID", value);
++ }
++
++ return 0;
++}
++
++static int usb_handler(struct device *device)
++{
++ char path[PATH_SIZE];
++ char value[PATH_SIZE];
++ char str1[PATH_SIZE];
++ char str2[PATH_SIZE];
++ char str3[PATH_SIZE];
++ unsigned int int1;
++ unsigned int int2;
++ unsigned int int3;
++ char *pos;
++
++ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path);
++ path[sizeof(path)-1] = '\0';
++
++ /* device events have : in their directory name */
++ pos = strrchr(path, '/');
++ if (!strchr(pos, ':'))
++ return 0; /* and do not have other variables */
++
++ if (read_file(path, "modalias", value, sizeof(value)) > 0)
++ add_env_key(device, "MODALIAS", value);
++
++ if (read_file(path, "bInterfaceClass", str1, sizeof(str1)) > 0 &&
++ read_file(path, "bInterfaceSubClass", str2, sizeof(str2)) > 0 &&
++ read_file(path, "bInterfaceProtocol", str3, sizeof(str3)) > 0) {
++ int1 = (int) strtol(str1, NULL, 16);
++ int2 = (int) strtol(str2, NULL, 16);
++ int3 = (int) strtol(str3, NULL, 16);
++ snprintf(value, sizeof(value), "%u/%u/%u", int1, int2, int3);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "INTERFACE", value);
++ }
++
++ /* move to the parent directory */
++ pos[0] = '\0';
++
++ if (read_file(path, "idVendor", str1, sizeof(str1)) > 0 &&
++ read_file(path, "idProduct", str2, sizeof(str2)) > 0 &&
++ read_file(path, "bcdDevice", str3, sizeof(str3)) > 0) {
++ int1 = (int) strtol(str1, NULL, 16);
++ int2 = (int) strtol(str2, NULL, 16);
++ int3 = (int) strtol(str3, NULL, 16);
++ snprintf(value, sizeof(value), "%x/%x/%x", int1, int2, int3);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "PRODUCT", value);
++ }
++
++ if (read_file(path, "bDeviceClass", str1, sizeof(str1)) > 0 &&
++ read_file(path, "bDeviceSubClass", str2, sizeof(str2)) > 0 &&
++ read_file(path, "bDeviceProtocol", str3, sizeof(str3)) > 0) {
++ int1 = (int) strtol(str1, NULL, 16);
++ int2 = (int) strtol(str2, NULL, 16);
++ int3 = (int) strtol(str3, NULL, 16);
++ snprintf(value, sizeof(value), "%u/%u/%u", int1, int2, int3);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "TYPE", value);
++ }
++
++ if (read_file(path, "devnum", str2, sizeof(str2)) > 0) {
++ pos = strrchr(path, 'b');
++ int1 = (int) strtol(pos + 1, NULL, 16);
++ int2 = (int) strtol(str2, NULL, 16);
++ snprintf(value, sizeof(value),
++ "/proc/bus/usb/%03d/%03d", int1, int2);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "DEVICE", value);
++ }
++
++ return 0;
++}
++
++static int serio_handler(struct device *device)
++{
++ char path[PATH_SIZE];
++ char value[PATH_SIZE];
++
++ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path);
++ path[sizeof(path)-1] = '\0';
++
++ if (read_file(path, "modalias", value, sizeof(value)) > 0)
++ add_env_key(device, "MODALIAS", value);
++
++ if (read_file(path, "id/type", value, sizeof(value)) > 0)
++ add_env_key(device, "SERIO_TYPE", value);
++
++ if (read_file(path, "id/proto", value, sizeof(value)) > 0)
++ add_env_key(device, "SERIO_PROTO", value);
++
++ if (read_file(path, "id/id", value, sizeof(value)) > 0)
++ add_env_key(device, "SERIO_ID", value);
++
++ if (read_file(path, "id/extra", value, sizeof(value)) > 0)
++ add_env_key(device, "SERIO_EXTRA", value);
++
++ return 0;
++}
++
++static int ccw_handler(struct device *device)
++{
++ char path[PATH_SIZE];
++ char value[PATH_SIZE], *tmp;
++
++ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path);
++ path[sizeof(path)-1] = '\0';
++
++ if (read_file(path, "modalias", value, sizeof(value)) > 0)
++ add_env_key(device, "MODALIAS", value);
++
++ if (read_file(path, "cutype", value, sizeof(value)) > 0) {
++ value[4] = 0;
++ tmp = &value[5];
++ add_env_key(device, "CU_TYPE", value);
++ add_env_key(device, "CU_MODEL", tmp);
++ }
++
++ if (read_file(path, "devtype", value, sizeof(value)) > 0) {
++ if (value[0] == 'n') {
++ add_env_key(device, "DEV_TYPE", "0000");
++ add_env_key(device, "DEV_MODEL", "00");
++ }
++ else {
++ value[4] = 0;
++ tmp = &value[5];
++ add_env_key(device, "DEV_TYPE", value);
++ add_env_key(device, "DEV_MODEL", tmp);
++ }
++ }
++
++ return 0;
++}
++
++static int modalias_handler(struct device *device)
++{
++ char path[PATH_SIZE];
++ char value[PATH_SIZE];
++
++ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path);
++ path[sizeof(path)-1] = '\0';
++
++ if (read_file(path, "modalias", value, sizeof(value)) > 0)
++ add_env_key(device, "MODALIAS", value);
++
++ return 0;
++}
++
++static int udev_scan_bus(const char *bus, int bus_handler(struct device *device))
++{
++ char base[PATH_SIZE];
++ DIR *dir;
++ struct dirent *dent;
++ LIST_HEAD(device_list);
++
++ snprintf(base, sizeof(base), "%s/bus/%s/devices", sysfs_path, bus);
++ base[sizeof(base)-1] = '\0';
++
++ dir = opendir(base);
++ if (!dir)
++ return -1;
++ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
++ char devpath[PATH_SIZE];
++ struct device *device;
++
++ if (dent->d_name[0] == '.')
++ continue;
++
++ if (read_link(base, dent->d_name, devpath, sizeof(devpath)) < 0)
++ continue;
++
++ device = device_create(devpath, bus, makedev(0, 0));
++ if (bus_handler) {
++ if (bus_handler(device) < 0) {
++ dbg("'%s' bus handler skipped event", devpath);
++ free(device);
++ continue;
++ }
++ }
++
++ device_list_insert(&device_list, device);
++ }
++ closedir(dir);
++ exec_list(&device_list, NULL, NULL);
++
++ return 0;
++}
++
++static int udev_scan_devices(void)
++{
++ char base[PATH_SIZE];
++ DIR *dir;
++ struct dirent *dent;
++
++ snprintf(base, sizeof(base), "%s/bus", sysfs_path);
++ base[sizeof(base)-1] = '\0';
++
++ dir = opendir(base);
++ if (!dir)
++ return -1;
++
++ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
++ if (dent->d_name[0] == '.')
++ continue;
++ if (dent->d_type != DT_DIR)
++ continue;
++
++ /* add bus specific env values */
++ if (strcmp(dent->d_name, "pci") == 0)
++ udev_scan_bus("pci", pci_handler);
++ else if (strcmp(dent->d_name, "usb") == 0)
++ udev_scan_bus("usb", usb_handler);
++ else if (strcmp(dent->d_name, "serio") == 0)
++ udev_scan_bus("serio", serio_handler);
++ else if (strcmp(dent->d_name, "ccw") == 0)
++ udev_scan_bus("ccw", ccw_handler);
++ else
++ udev_scan_bus(dent->d_name, modalias_handler);
++ }
++ closedir(dir);
++
++ return 0;
++}
++
++int main(int argc, char *argv[], char *envp[])
++{
++ LIST_HEAD(device_list);
++ int i;
++
++ logging_init("udevcoldplug");
++ udev_config_init(); sysfs_init();
++ dbg("version %s", UDEV_VERSION);
++
++ udev_log_str = getenv("UDEV_LOG");
++
++ /* disable all logging if not explicitely requested */
++ if (udev_log_str == NULL)
++ udev_log_priority = 0;
++
++ for (i = 1 ; i < argc; i++) {
++ char *arg = argv[i];
++
++ if (strcmp(arg, "help") == 0 || strcmp(arg, "--help") == 0 || strcmp(arg, "-h") == 0) {
++ printf("Usage: udevcoldplug \n"
++ " --help print this help text\n\n");
++ exit(0);
++ } else {
++ fprintf(stderr, "unknown option\n\n");
++ exit(1);
++ }
++ }
++
++ udevd_sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
++ if (udevd_sock < 0) {
++ err("error getting socket");
++ return 1;
++ }
++
++ /* create nodes for already available devices */
++ udev_scan_class();
++ udev_scan_block();
++
++ /* synthesize events for bus devices
++ * may load modules or configure the device */
++ udev_scan_devices();
++
++ if (udevd_sock >= 0)
++ close(udevd_sock);
++ logging_close();
++
++ return 0;
++}
+--- udev-081/Makefile
++++ udev-081/Makefile
+@@ -58,6 +58,7 @@ PROGRAMS = \
+ udevmonitor \
+ udevinfo \
+ udevtest \
++ udevsynthesize \
+ udevstart
+
+ HEADERS = \
diff --git a/packages/udev/udev-084/udevsynthesize.sh b/packages/udev/udev-084/udevsynthesize.sh
new file mode 100644
index 0000000000..d58217c144
--- /dev/null
+++ b/packages/udev/udev-084/udevsynthesize.sh
@@ -0,0 +1,51 @@
+#!/bin/sh -e
+
+load_input_modules() {
+ for module in mousedev evdev joydev; do
+ modprobe -q $module || true
+ done
+}
+
+if [ ! -e /sys/class/mem/null/uevent ]; then # <= 2.6.14
+ /lib/udev/udevsynthesize
+ load_input_modules
+ exit 0
+fi
+
+# replace $IFS with something which is not likely to appear in a sysfs path,
+# because some buggy drivers have spaces in their names
+oldifs="$IFS"
+IFS="|"
+
+for file in /sys/bus/*/devices/*/uevent /sys/class/*/*/uevent \
+ /sys/block/*/uevent /sys/block/*/*/uevent; do
+ case "$file" in
+ */device/uevent) ;; # skip followed device symlinks
+ */\*/*) ;;
+
+ */class/mem/*) # for /dev/null
+ first="$first${IFS}$file" ;;
+
+ */block/md[0-9]*)
+ last="$last${IFS}$file" ;;
+
+ *)
+ default="$default${IFS}$file" ;;
+ esac
+done
+
+for file in $first${IFS}$default${IFS}$last; do
+ [ "$file" ] || continue
+ echo 'add' > "$file" || true
+done
+
+IFS="$oldifs"
+
+case "$(uname -r)" in
+ 2.6.1[0-5]|2.6.1[0-5][!0-9]*) # <= 2.6.15
+ load_input_modules
+ ;;
+esac
+
+exit 0
+
diff --git a/packages/udev/udev_084.bb b/packages/udev/udev_084.bb
new file mode 100644
index 0000000000..d4bdb13382
--- /dev/null
+++ b/packages/udev/udev_084.bb
@@ -0,0 +1,46 @@
+DEFAULT_PREFERENCE = "-1"
+
+DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \
+/dev/, handles hotplug events and loads drivers at boot time. It replaces \
+the hotplug package and requires a kernel not older than 2.6.12."
+RPROVIDES = "hotplug"
+
+SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
+ file://noasmlinkage.patch;patch=1 \
+ file://flags.patch;patch=1 \
+ file://udevsynthesize.patch;patch=1 \
+ file://udevsynthesize.sh"
+
+include udev.inc
+
+INITSCRIPT_PARAMS = "start 03 S . start 55 0 6 ."
+
+PR = "r0"
+
+UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/ extras/run_directory/"
+
+do_install () {
+ install -d ${D}${usrsbindir} \
+ ${D}${sbindir}
+ oe_runmake 'DESTDIR=${D}' INSTALL=install install
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
+
+ install -d ${D}${sysconfdir}/udev/rules.d/
+
+ install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
+ install -m 0644 ${WORKDIR}/permissions.rules ${D}${sysconfdir}/udev/rules.d/permissions.rules
+ install -m 0644 ${WORKDIR}/udev.rules ${D}${sysconfdir}/udev/rules.d/udev.rules
+ if [ "${UDEV_DEVFS_RULES}" = "1" ]; then
+ install -m 0644 ${WORKDIR}/devfs-udev.rules ${D}${sysconfdir}/udev/rules.d/devfs-udev.rules
+ fi
+
+ install -d ${D}${sysconfdir}/udev/scripts/
+
+ install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
+ install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
+
+ install -d ${D}${base_libdir}/udev/
+ install -m 0755 ${S}/udevsynthesize ${D}${base_libdir}/udev/udevsynthesize
+ install -m 0755 ${WORKDIR}/udevsynthesize.sh ${D}${sbindir}/udevsynthesize
+}