diff options
42 files changed, 931 insertions, 590 deletions
diff --git a/conf/distro/unslung.conf b/conf/distro/unslung.conf index 1308340887..a26e790fd5 100644 --- a/conf/distro/unslung.conf +++ b/conf/distro/unslung.conf @@ -8,7 +8,7 @@ DISTRO_TYPE = "beta" FEED_URIS = "cross##http://ipkg.nslu2-linux.org/feeds/optware/nslu2/cross/stable" FEED_URIS += "native##http://ipkg.nslu2-linux.org/feeds/optware/nslu2/native/stable" -FEED_URIS += "oe##http://ipkg.nslu2-linux.org/feeds/unslung/modules/cross/stable" +FEED_URIS += "oe##http://ipkg.nslu2-linux.org/feeds/unslung/modules/cross/6.8-beta" # pull in the frozen list of bbfiles UNSLUNG_EXTRA_BBFILES ?= "" diff --git a/packages/elfutils/elfutils-0.108/warnings.patch b/packages/elfutils/elfutils-0.108/warnings.patch index 1c283d8530..9de027ee26 100644 --- a/packages/elfutils/elfutils-0.108/warnings.patch +++ b/packages/elfutils/elfutils-0.108/warnings.patch @@ -1,7 +1,7 @@ Index: elfutils-0.108/configure.ac =================================================================== ---- elfutils-0.108.orig/configure.ac 2005-05-08 19:13:45.000000000 +0100 -+++ elfutils-0.108/configure.ac 2006-04-07 11:34:17.000000000 +0100 +--- elfutils-0.108.orig/configure.ac 2006-04-10 19:18:34.000000000 +0100 ++++ elfutils-0.108/configure.ac 2006-04-10 19:19:33.000000000 +0100 @@ -49,6 +49,10 @@ dnl Add all the languages for which translations are available. ALL_LINGUAS= @@ -15,108 +15,108 @@ Index: elfutils-0.108/configure.ac AC_PROG_YACC Index: elfutils-0.108/lib/Makefile.am =================================================================== ---- elfutils-0.108.orig/lib/Makefile.am 2005-05-07 00:48:02.000000000 +0100 -+++ elfutils-0.108/lib/Makefile.am 2006-04-07 11:35:38.000000000 +0100 +--- elfutils-0.108.orig/lib/Makefile.am 2006-04-10 19:18:34.000000000 +0100 ++++ elfutils-0.108/lib/Makefile.am 2006-04-10 19:19:33.000000000 +0100 @@ -21,7 +21,7 @@ else AM_CFLAGS = endif -AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra $($(*F)_CFLAGS) -+AM_CFLAGS += -fpic -Wshadow -Wunused -Wextra $($(*F)_CFLAGS) ++AM_CFLAGS += -fpic -Wshadow -Wunused $($(*F)_CFLAGS) INCLUDES = -I$(srcdir)/../libelf -I.. noinst_LIBRARIES = libeu.a Index: elfutils-0.108/libasm/Makefile.am =================================================================== ---- elfutils-0.108.orig/libasm/Makefile.am 2005-02-25 06:46:26.000000000 +0000 -+++ elfutils-0.108/libasm/Makefile.am 2006-04-07 11:36:09.000000000 +0100 +--- elfutils-0.108.orig/libasm/Makefile.am 2006-04-10 19:18:34.000000000 +0100 ++++ elfutils-0.108/libasm/Makefile.am 2006-04-10 19:19:33.000000000 +0100 @@ -18,7 +18,7 @@ else AM_CFLAGS = endif -AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 -+AM_CFLAGS += -Wshadow -Wunused -Wextra -Wformat=2 ++AM_CFLAGS += -Wshadow -Wunused -Wformat=2 INCLUDES = -I. -I$(srcdir) -I.. -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \ -I$(top_srcdir)/lib GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include) Index: elfutils-0.108/libcpu/Makefile.am =================================================================== ---- elfutils-0.108.orig/libcpu/Makefile.am 2005-02-25 06:46:58.000000000 +0000 -+++ elfutils-0.108/libcpu/Makefile.am 2006-04-07 11:36:32.000000000 +0100 +--- elfutils-0.108.orig/libcpu/Makefile.am 2006-04-10 19:18:34.000000000 +0100 ++++ elfutils-0.108/libcpu/Makefile.am 2006-04-10 19:19:33.000000000 +0100 @@ -13,7 +13,7 @@ ## 3001 King Ranch Road, Ukiah, CA 95482. ## DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -AM_CFLAGS = -Wall -Wshadow -Werror -Wextra -Wformat=2 -Wunused -+AM_CFLAGS = -Wshadow -Wextra -Wformat=2 -Wunused ++AM_CFLAGS = -Wshadow -Wformat=2 -Wunused INCLUDES = -I$(srcdir) noinst_LIBRARIES = libcpu_i386.a Index: elfutils-0.108/libdw/Makefile.am =================================================================== ---- elfutils-0.108.orig/libdw/Makefile.am 2005-04-04 01:29:25.000000000 +0100 -+++ elfutils-0.108/libdw/Makefile.am 2006-04-07 11:36:42.000000000 +0100 +--- elfutils-0.108.orig/libdw/Makefile.am 2006-04-10 19:18:34.000000000 +0100 ++++ elfutils-0.108/libdw/Makefile.am 2006-04-10 19:19:33.000000000 +0100 @@ -18,7 +18,7 @@ else AM_CFLAGS = endif -AM_CFLAGS += -Wall -Werror -Wshadow -Wunused -Wformat=2 -Wextra -std=gnu99 -+AM_CFLAGS += -Wshadow -Wunused -Wformat=2 -Wextra -std=gnu99 ++AM_CFLAGS += -Wshadow -Wunused -Wformat=2 -std=gnu99 INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib VERSION = 1 Index: elfutils-0.108/libebl/Makefile.am =================================================================== ---- elfutils-0.108.orig/libebl/Makefile.am 2005-05-07 00:40:23.000000000 +0100 -+++ elfutils-0.108/libebl/Makefile.am 2006-04-07 11:36:53.000000000 +0100 +--- elfutils-0.108.orig/libebl/Makefile.am 2006-04-10 19:18:34.000000000 +0100 ++++ elfutils-0.108/libebl/Makefile.am 2006-04-10 19:19:33.000000000 +0100 @@ -18,7 +18,7 @@ else AM_CFLAGS = endif -AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 \ -+AM_CFLAGS += -fpic -Wshadow -Wunused -Wextra -Wformat=2 \ ++AM_CFLAGS += -fpic -Wshadow -Wunused -Wformat=2 \ -std=gnu99 INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/lib -I.. Index: elfutils-0.108/libelf/Makefile.am =================================================================== ---- elfutils-0.108.orig/libelf/Makefile.am 2005-02-25 06:46:17.000000000 +0000 -+++ elfutils-0.108/libelf/Makefile.am 2006-04-07 11:37:08.000000000 +0100 +--- elfutils-0.108.orig/libelf/Makefile.am 2006-04-10 19:18:34.000000000 +0100 ++++ elfutils-0.108/libelf/Makefile.am 2006-04-10 19:19:33.000000000 +0100 @@ -21,7 +21,7 @@ else AM_CFLAGS = endif -AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 -std=gnu99 \ -+AM_CFLAGS += -Wshadow -Wunused -Wextra -Wformat=2 -std=gnu99 \ ++AM_CFLAGS += -Wshadow -Wunused -Wformat=2 -std=gnu99 \ $($(*F)_CFLAGS) INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I.. GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include) Index: elfutils-0.108/src/Makefile.am =================================================================== ---- elfutils-0.108.orig/src/Makefile.am 2005-05-07 21:27:58.000000000 +0100 -+++ elfutils-0.108/src/Makefile.am 2006-04-07 11:38:21.000000000 +0100 -@@ -15,14 +15,13 @@ +--- elfutils-0.108.orig/src/Makefile.am 2006-04-10 19:18:34.000000000 +0100 ++++ elfutils-0.108/src/Makefile.am 2006-04-10 19:20:19.000000000 +0100 +@@ -15,14 +15,12 @@ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H $(YYDEBUG) \ -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\" if MUDFLAP -AM_CFLAGS = -Wall -Wshadow -Wunused -Wextra -std=gnu99 -fmudflap \ -+AM_CFLAGS = -Wshadow -Wunused -Wextra -std=gnu99 -fmudflap \ ++AM_CFLAGS = -Wshadow -Wunused -std=gnu99 -fmudflap \ $(native_ld_cflags) $(if $($(*F)_no_Wunused),,-Wunused) \ $(if $($(*F)_no_Wformat),,-Wformat=2) else -AM_CFLAGS = -Wall -Wshadow -std=gnu99 $(native_ld_cflags) \ -+AM_CFLAGS = -Wshadow -std=gnu99 $(native_ld_cflags) \ - $(if $($(*F)_no_Werror),,-Werror) \ +- $(if $($(*F)_no_Werror),,-Werror) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wformat),,-Wformat=2) -+ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) ++AM_CFLAGS = -Wshadow -std=gnu99 $(native_ld_cflags) \ ++ $(if $($(*F)_no_Werror),,-Werror) endif if MUDFLAP libmudflap = -lmudflap Index: elfutils-0.108/tests/Makefile.am =================================================================== ---- elfutils-0.108.orig/tests/Makefile.am 2005-05-08 18:56:19.000000000 +0100 -+++ elfutils-0.108/tests/Makefile.am 2006-04-07 11:38:36.000000000 +0100 +--- elfutils-0.108.orig/tests/Makefile.am 2006-04-10 19:18:34.000000000 +0100 ++++ elfutils-0.108/tests/Makefile.am 2006-04-10 19:19:33.000000000 +0100 @@ -14,10 +14,10 @@ ## DEFS = -DHAVE_CONFIG_H -D_GNU_SOURCE diff --git a/packages/prelink/prelink-20031029/.mtn2git_empty b/packages/fakechroot/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/prelink/prelink-20031029/.mtn2git_empty +++ b/packages/fakechroot/.mtn2git_empty diff --git a/packages/fakechroot/fakechroot-native_2.5.bb b/packages/fakechroot/fakechroot-native_2.5.bb new file mode 100644 index 0000000000..5af3e79467 --- /dev/null +++ b/packages/fakechroot/fakechroot-native_2.5.bb @@ -0,0 +1,12 @@ +SECTION = "base" +PR = "r0" +include fakechroot_${PV}.bb +inherit native + +S = "${WORKDIR}/fakechroot-${PV}" + +EXTRA_OECONF = " --program-prefix=" + +do_stage_append () { + oe_libinstall -so libfakechroot ${STAGING_LIBDIR}/libfakechroot/ +} diff --git a/packages/fakechroot/fakechroot_2.5.bb b/packages/fakechroot/fakechroot_2.5.bb new file mode 100644 index 0000000000..c791512185 --- /dev/null +++ b/packages/fakechroot/fakechroot_2.5.bb @@ -0,0 +1,7 @@ +SECTION = "base" +DESCRIPTION = "Gives a fake root environment which can support chroot" +LICENSE = "GPL" + +SRC_URI = "${DEBIAN_MIRROR}/main/f/fakechroot/fakechroot_${PV}.orig.tar.gz" + +inherit autotools diff --git a/packages/gnome/orbit2-native_2.14.0.bb b/packages/gnome/orbit2-native_2.14.0.bb index c10afb58db..2d52ab7eee 100644 --- a/packages/gnome/orbit2-native_2.14.0.bb +++ b/packages/gnome/orbit2-native_2.14.0.bb @@ -1,7 +1,7 @@ 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 \ +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.14/ORBit2-${PV}.tar.bz2 \ file://configure-lossage.patch;patch=1;pnum=1 \ file://gtk-doc.m4 \ file://gtk-doc.make" diff --git a/packages/nslu2-binary-only/unslung-rootfs-2.3r63/README b/packages/nslu2-binary-only/unslung-rootfs-2.3r63/README index 9e34a42820..27dddeafbf 100644 --- a/packages/nslu2-binary-only/unslung-rootfs-2.3r63/README +++ b/packages/nslu2-binary-only/unslung-rootfs-2.3r63/README @@ -148,44 +148,43 @@ FIRMWARE INSTALLATION DETAILS Management web pages). 2-a) If you are installing Unslung 6.x onto an NSLU2 unit with Linksys - standard firmware *or* Unslung version 1.x or version 2.x already - installed, flash unslung-6.x.bin as you normally would flash new - firmware (using the web interface "Upgrade Firmware" page). - - 2-b) If you are installing Unslung 6.x onto an NSLU2 unit with Unslung - version 3.x already installed, you must put the NSLU2 into - maintenance mode before you can use the web interface to flash a new - version. Just click the "Enter Maintenance Mode" link on the web - interface "Upgrade Firmware" page, wait for the NSLU2 to reboot, and - then flash the new firmware in the normal manner (using the web - interface "Upgrade Firmware" page). - - 2-c) If you are installing Unslung 6.x onto an NSLU2 unit with Unslung - version 4.x already installed, you must put the NSLU2 into RedBoot - Upgrade Mode before you can upload new firmware. Note that Unslung - version 4.x has an "Enter Maintenance Mode" link on the web interface - "Upgrade Firmware" page, but it does not work, so you will need to - use the instructions at - - http://www.nslu2-linux.org/wiki/HowTo/TelnetIntoRedBoot - - to access the RedBoot command line, and then type "upgrade" to put - the NSLU2 into RedBoot Upgrade Mode. Then you will need to use the - Linux UpSlug2 tool or the Windows SerComm Upgrade tool to upload the - new firmware. - - 2-d) If you are installing Unslung 6.x onto an NSLU2 unit with version 5.x - or version 6.x already installed, you must first put the NSLU2 into - RedBoot Upgrade Mode. Just click the "Enter Upgrade Mode" link on the - web interface "Upgrade Firmware" page, wait for the NSLU2 to reboot, - and for the Ready/Status LED to begin flashing red and green, and then - use either the Linux UpSlug2 tool or the Windows SerComm Upgrade tool - to upload the new firmware. - - - During firmware flashing, the top LED - Ready/Status - flashes red and - green (approximately 5 minutes, but can be much longer). - - - The NSLU2 will reboot after the flashing is complete. + standard firmware already installed, flash unslung-6.x.bin as you + normally would flash new firmware (using the web interface + "Upgrade Firmware" page). See your NSLU2 user manual for details + if you don't know how to do this. + + - During firmware flashing, the top LED - Ready/Status - flashes + red and green (approximately 5 minutes, but can be much longer). + + - The NSLU2 will reboot after the flashing is complete. + + 2-b) If you are installing Unslung 6.x onto an NSLU2 unit with an + existing version of nslu2-linux.org firmware already installed, + you must first put the NSLU2 into RedBoot Upgrade Mode. + + - The NSLU2 should still be powered off at this point. If not, + shut it down again before proceeding. + + - Using a paper clip, push and hold in the reset button which is + located on the back of the NSLU2 near the power socket. + + - While holding in the reset button, press and release the power + button. + + - Watch the Ready/Status LED, and as soon as it turns red quickly + release the reset button. + + - You should now be in upgrade mode which is indicated by the + Ready/Status LED alternating between red and green. + + - Use either the Linux UpSlug2 tool or the Windows SerComm Upgrade + tool to upload the new firmware - you can find download links at + http://www.nslu2-linux.org/wiki/HowTo/InstallUnslungFirmware + + - During firmware flashing, the top LED - Ready/Status - flashes + red and green (approximately 5 minutes, but can be much longer). + + - The NSLU2 will reboot after the flashing is complete. 3) Shutdown the NSLU2 (again), attach disk(s), and power it back up. diff --git a/packages/prelink/prelink-20031029/Makefile.in.patch b/packages/prelink/prelink-20031029/Makefile.in.patch deleted file mode 100644 index 930ea5f9c4..0000000000 --- a/packages/prelink/prelink-20031029/Makefile.in.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- prelink-0.0.20030902.orig/src/Makefile.in 2003-07-01 14:38:41.000000000 +0000 -+++ prelink-0.0.20030902/src/Makefile.in 2003-09-16 23:26:16.000000000 +0000 -@@ -108,7 +108,7 @@ - $(prelink_SYSDEPS) - - prelink_LDADD = @LIBGELF@ --prelink_LDFLAGS = -all-static -+#prelink_LDFLAGS = -all-static - - extra_DIST = makecrc.c - subdir = src diff --git a/packages/prelink/prelink-20031029/dso.c.patch b/packages/prelink/prelink-20031029/dso.c.patch deleted file mode 100644 index 1be2f52961..0000000000 --- a/packages/prelink/prelink-20031029/dso.c.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- prelink-0.0.20030902.orig/src/dso.c 2003-08-11 11:55:11.000000000 +0000 -+++ prelink-0.0.20030902/src/dso.c 2003-09-16 23:26:16.000000000 +0000 -@@ -334,7 +334,13 @@ - } - else - sections[--k] = i; -+/* this fails for the statically linked upx executable - assert (j == k); -+*/ -+ if (j != k) { -+ printf("assert(j == k) at dso.c:311 has failed for file %s\n", name); -+ goto error_out; -+ } - - section_cmp_dso = dso; - qsort (sections + k, dso->ehdr.e_shnum - k, sizeof (*sections), section_cmp); diff --git a/packages/prelink/prelink-20031029/layout.c.patch b/packages/prelink/prelink-20031029/layout.c.patch deleted file mode 100644 index 3961d84d0b..0000000000 --- a/packages/prelink/prelink-20031029/layout.c.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- prelink-0.0.20030902.orig/src/layout.c 2003-06-13 15:12:26.000000000 +0000 -+++ prelink-0.0.20030902/src/layout.c 2003-09-16 23:26:16.000000000 +0000 -@@ -614,7 +614,23 @@ - < ((deps[j - 1]->end + max_page_size - 1) - & ~(max_page_size - 1)) - && (deps[j]->type == ET_DYN || deps[j - 1]->type == ET_DYN)) -+{ /* XXX some binaries cause a segfault but I do not know why -- Md*/ -+ fprintf(stderr, -+ "Unknown fatal error at src/layout.c:538\n" -+ "l.binlibs[i]->filename: %s\n" -+ "deps[j]->base: %lx\n" -+ "(deps[j - 1]->end + max_page_size - 1) & ~(max_page_size - 1): %ld\n" -+ "[deps[j - 1]->end: %lx max_page_size: %lu]\n" -+ "deps[j]->type: %x deps[j - 1]->type: %x\n" -+ , -+ l.binlibs[i]->filename, -+ deps[j]->base, -+ ((deps[j - 1]->end + max_page_size - 1) & ~(max_page_size - 1)), -+ deps[j - 1]->end, max_page_size, -+ deps[j]->type, deps[j - 1]->type -+ ); - abort (); -+} - } - #endif - } diff --git a/packages/prelink/prelink-20031029/prelink.conf b/packages/prelink/prelink-20031029/prelink.conf deleted file mode 100644 index 1777aa849e..0000000000 --- a/packages/prelink/prelink-20031029/prelink.conf +++ /dev/null @@ -1,21 +0,0 @@ ---- prelink-0.0.20040115.orig/debian/prelink.conf -+++ prelink-0.0.20040115/debian/prelink.conf -@@ -0,0 +1,18 @@ -+# This config file contains a list of directories both with binaries -+# and libraries prelink should consider by default. -+# If a directory name is prefixed with `-l ', the directory hierarchy -+# will be walked as long as filesystem boundaries are not crossed. -+# If a directory name is prefixed with `-h ', symbolic links in a -+# directory hierarchy are followed. -+-l /usr/local/sbin -+-l /sbin -+-l /usr/sbin -+-l /usr/local/bin -+-l /bin -+-l /usr/bin -+-l /usr/X11R6/bin -+-l /usr/games -+-l /usr/local/lib -+-l /lib -+-l /usr/lib -+-l /usr/X11R6/lib diff --git a/packages/prelink/prelink-20031029/prelink.cron.daily b/packages/prelink/prelink-20031029/prelink.cron.daily deleted file mode 100644 index 91983ee18b..0000000000 --- a/packages/prelink/prelink-20031029/prelink.cron.daily +++ /dev/null @@ -1,43 +0,0 @@ ---- prelink-0.0.20040115.orig/debian/prelink.cron.daily -+++ prelink-0.0.20040115/debian/prelink.cron.daily -@@ -0,0 +1,40 @@ -+#!/bin/sh -+ -+. /etc/default/prelink -+ -+renice +19 -p $$ >/dev/null 2>&1 -+ -+if [ "$PRELINKING" != yes ]; then -+ if [ -f /etc/prelink.cache ]; then -+ echo /usr/sbin/prelink -uav > /var/log/prelink.log -+ /usr/sbin/prelink -uav >> /var/log/prelink.log 2>&1 -+ rm -f /etc/prelink.cache -+ # Restart init if needed -+ [ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u -+ fi -+ exit 0 -+fi -+ -+if [ ! -f /etc/prelink.cache -o -f /var/lib/misc/prelink.force ] \ -+ || grep -q '^prelink-ELF0.[0-2]' /etc/prelink.cache; then -+ # If cache does not exist or is from older prelink versions or -+ # if we were asked to explicitely, force full prelinking -+ rm -f /etc/prelink.cache /var/lib/misc/prelink.force -+ PRELINK_OPTS="$PRELINK_OPTS -f" -+ date > /var/lib/misc/prelink.full -+elif [ -n "$PRELINK_FULL_TIME_INTERVAL" \ -+ -a "`find /var/lib/misc/prelink.full -mtime -${PRELINK_FULL_TIME_INTERVAL} 2>/dev/null`" \ -+ = /var/lib/misc/prelink.full ]; then -+ # If prelink without -q has been run in the last -+ # PRELINK_FULL_TIME_INTERVAL days, just use quick mode -+ PRELINK_OPTS="$PRELINK_OPTS -q" -+else -+ date > /var/lib/misc/prelink.full -+fi -+ -+echo /usr/sbin/prelink -av $PRELINK_OPTS > /var/log/prelink.log -+/usr/sbin/prelink -av $PRELINK_OPTS >> /var/log/prelink.log 2>&1 -+# Restart init if needed -+[ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u -+ -+exit 0 diff --git a/packages/prelink/prelink-20031029/prelink.default b/packages/prelink/prelink-20031029/prelink.default deleted file mode 100644 index d89649e49b..0000000000 --- a/packages/prelink/prelink-20031029/prelink.default +++ /dev/null @@ -1,25 +0,0 @@ ---- prelink-0.0.20040115.orig/debian/prelink.default -+++ prelink-0.0.20040115/debian/prelink.default -@@ -0,0 +1,22 @@ -+# Set this to no to disable prelinking altogether -+# or to yes to enable it. -+# (if you change this from yes to no prelink -ua -+# will be run next night to undo prelinking) -+PRELINKING=unknown -+ -+# Options to pass to prelink -+# -m Try to conserve virtual memory by allowing overlapping -+# assigned virtual memory slots for libraries which -+# never appear together in one binary -+# -R Randomize virtual memory slot assignments for libraries. -+# This makes it slightly harder for various buffer overflow -+# attacks, since library addresses will be different on each -+# host using -R. -+PRELINK_OPTS=-mR -+ -+# How often should full prelink be run (in days) -+# Normally, prelink will be run in quick mode, every -+# $PRELINK_FULL_TIME_INTERVAL days it will be run -+# in normal mode. Comment this line out if prelink -+# should be run in normal mode always. -+PRELINK_FULL_TIME_INTERVAL=14 diff --git a/packages/prelink/prelink-20031029/prelink.h.patch b/packages/prelink/prelink-20031029/prelink.h.patch deleted file mode 100644 index 3ca2930d3a..0000000000 --- a/packages/prelink/prelink-20031029/prelink.h.patch +++ /dev/null @@ -1,48 +0,0 @@ ---- prelink-0.0.20030902.orig/src/prelink.h 2003-08-11 11:54:01.000000000 +0000 -+++ prelink-0.0.20030902/src/prelink.h 2003-09-16 23:26:16.000000000 +0000 -@@ -26,6 +26,45 @@ - #include <stdio.h> - #include <sys/stat.h> - -+/* http://gcc.gnu.org/ml/gcc/2003-01/msg00922.html */ -+#ifndef R_390_TLS_DTPMOD -+#define R_390_TLS_DTPMOD 54 -+#define R_390_TLS_DTPOFF 55 -+#define R_390_TLS_TPOFF 56 -+#endif -+ -+/* from http://www.cygwin.com/ml/libc-alpha/2003-02/msg00241.html */ -+#ifndef R_PPC_TLS -+#define R_PPC_TLS 67 -+#define R_PPC_DTPMOD32 68 -+#define R_PPC_TPREL16 69 -+#define R_PPC_TPREL16_LO 70 -+#define R_PPC_TPREL16_HI 71 -+#define R_PPC_TPREL16_HA 72 -+#define R_PPC_TPREL32 73 -+#define R_PPC_DTPREL16 74 -+#define R_PPC_DTPREL16_LO 75 -+#define R_PPC_DTPREL16_HI 76 -+#define R_PPC_DTPREL16_HA 77 -+#define R_PPC_DTPREL32 78 -+#define R_PPC_GOT_TLSGD16 79 -+#define R_PPC_GOT_TLSGD16_LO 80 -+#define R_PPC_GOT_TLSGD16_HI 81 -+#define R_PPC_GOT_TLSGD16_HA 82 -+#define R_PPC_GOT_TLSLD16 83 -+#define R_PPC_GOT_TLSLD16_LO 84 -+#define R_PPC_GOT_TLSLD16_HI 85 -+#define R_PPC_GOT_TLSLD16_HA 86 -+#define R_PPC_GOT_TPREL16 87 -+#define R_PPC_GOT_TPREL16_LO 88 -+#define R_PPC_GOT_TPREL16_HI 89 -+#define R_PPC_GOT_TPREL16_HA 90 -+#define R_PPC_GOT_DTPREL16 91 -+#define R_PPC_GOT_DTPREL16_LO 92 -+#define R_PPC_GOT_DTPREL16_HI 93 -+#define R_PPC_GOT_DTPREL16_HA 94 -+#endif -+ - #ifndef DT_GNU_LIBLIST - #define DT_GNU_LIBLIST 0x6ffffef9 - #define DT_GNU_LIBLISTSZ 0x6ffffdf7 diff --git a/packages/prelink/prelink-20031029/ts.Makefile.am.patch b/packages/prelink/prelink-20031029/ts.Makefile.am.patch deleted file mode 100644 index 6b8c3c5c38..0000000000 --- a/packages/prelink/prelink-20031029/ts.Makefile.am.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- prelink-0.0.20031029.orig/testsuite/Makefile.am 2003-09-02 21:44:23.000000000 +0000 -+++ prelink-0.0.20031029/testsuite/Makefile.am 2003-10-31 20:28:02.000000000 +0000 -@@ -11,7 +11,7 @@ - shuffle1.sh shuffle2.sh shuffle3.sh shuffle4.sh shuffle5.sh \ - shuffle6.sh shuffle7.sh \ - layout1.sh layout2.sh tls1.sh tls2.sh tls3.sh tls4.sh \ -- cxx1.sh quick1.sh cycle1.sh cycle2.sh \ -+ cxx1.sh cycle1.sh cycle2.sh \ - undosyslibs.sh - TESTS_ENVIRONMENT = \ - PRELINK="../src/prelink -c ./prelink.conf -C ./prelink.cache --ld-library-path=. --dynamic-linker=`echo ./ld*.so.*[0-9]`" \ diff --git a/packages/prelink/prelink-20031029/ts.Makefile.in.patch b/packages/prelink/prelink-20031029/ts.Makefile.in.patch deleted file mode 100644 index 4253badb65..0000000000 --- a/packages/prelink/prelink-20031029/ts.Makefile.in.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- prelink-0.0.20031029.orig/testsuite/Makefile.in 2003-10-28 20:01:56.000000000 +0000 -+++ prelink-0.0.20031029/testsuite/Makefile.in 2003-10-31 20:28:10.000000000 +0000 -@@ -106,7 +106,7 @@ - shuffle1.sh shuffle2.sh shuffle3.sh shuffle4.sh shuffle5.sh \ - shuffle6.sh shuffle7.sh \ - layout1.sh layout2.sh tls1.sh tls2.sh tls3.sh tls4.sh \ -- cxx1.sh quick1.sh cycle1.sh cycle2.sh \ -+ cxx1.sh cycle1.sh cycle2.sh \ - undosyslibs.sh - - TESTS_ENVIRONMENT = \ diff --git a/packages/prelink/prelink-20040304/prelink.conf b/packages/prelink/prelink-20040304/prelink.conf deleted file mode 100644 index 1777aa849e..0000000000 --- a/packages/prelink/prelink-20040304/prelink.conf +++ /dev/null @@ -1,21 +0,0 @@ ---- prelink-0.0.20040115.orig/debian/prelink.conf -+++ prelink-0.0.20040115/debian/prelink.conf -@@ -0,0 +1,18 @@ -+# This config file contains a list of directories both with binaries -+# and libraries prelink should consider by default. -+# If a directory name is prefixed with `-l ', the directory hierarchy -+# will be walked as long as filesystem boundaries are not crossed. -+# If a directory name is prefixed with `-h ', symbolic links in a -+# directory hierarchy are followed. -+-l /usr/local/sbin -+-l /sbin -+-l /usr/sbin -+-l /usr/local/bin -+-l /bin -+-l /usr/bin -+-l /usr/X11R6/bin -+-l /usr/games -+-l /usr/local/lib -+-l /lib -+-l /usr/lib -+-l /usr/X11R6/lib diff --git a/packages/prelink/prelink-20040304/prelink.cron.daily b/packages/prelink/prelink-20040304/prelink.cron.daily deleted file mode 100644 index 91983ee18b..0000000000 --- a/packages/prelink/prelink-20040304/prelink.cron.daily +++ /dev/null @@ -1,43 +0,0 @@ ---- prelink-0.0.20040115.orig/debian/prelink.cron.daily -+++ prelink-0.0.20040115/debian/prelink.cron.daily -@@ -0,0 +1,40 @@ -+#!/bin/sh -+ -+. /etc/default/prelink -+ -+renice +19 -p $$ >/dev/null 2>&1 -+ -+if [ "$PRELINKING" != yes ]; then -+ if [ -f /etc/prelink.cache ]; then -+ echo /usr/sbin/prelink -uav > /var/log/prelink.log -+ /usr/sbin/prelink -uav >> /var/log/prelink.log 2>&1 -+ rm -f /etc/prelink.cache -+ # Restart init if needed -+ [ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u -+ fi -+ exit 0 -+fi -+ -+if [ ! -f /etc/prelink.cache -o -f /var/lib/misc/prelink.force ] \ -+ || grep -q '^prelink-ELF0.[0-2]' /etc/prelink.cache; then -+ # If cache does not exist or is from older prelink versions or -+ # if we were asked to explicitely, force full prelinking -+ rm -f /etc/prelink.cache /var/lib/misc/prelink.force -+ PRELINK_OPTS="$PRELINK_OPTS -f" -+ date > /var/lib/misc/prelink.full -+elif [ -n "$PRELINK_FULL_TIME_INTERVAL" \ -+ -a "`find /var/lib/misc/prelink.full -mtime -${PRELINK_FULL_TIME_INTERVAL} 2>/dev/null`" \ -+ = /var/lib/misc/prelink.full ]; then -+ # If prelink without -q has been run in the last -+ # PRELINK_FULL_TIME_INTERVAL days, just use quick mode -+ PRELINK_OPTS="$PRELINK_OPTS -q" -+else -+ date > /var/lib/misc/prelink.full -+fi -+ -+echo /usr/sbin/prelink -av $PRELINK_OPTS > /var/log/prelink.log -+/usr/sbin/prelink -av $PRELINK_OPTS >> /var/log/prelink.log 2>&1 -+# Restart init if needed -+[ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u -+ -+exit 0 diff --git a/packages/prelink/prelink-20040304/prelink.default b/packages/prelink/prelink-20040304/prelink.default deleted file mode 100644 index d89649e49b..0000000000 --- a/packages/prelink/prelink-20040304/prelink.default +++ /dev/null @@ -1,25 +0,0 @@ ---- prelink-0.0.20040115.orig/debian/prelink.default -+++ prelink-0.0.20040115/debian/prelink.default -@@ -0,0 +1,22 @@ -+# Set this to no to disable prelinking altogether -+# or to yes to enable it. -+# (if you change this from yes to no prelink -ua -+# will be run next night to undo prelinking) -+PRELINKING=unknown -+ -+# Options to pass to prelink -+# -m Try to conserve virtual memory by allowing overlapping -+# assigned virtual memory slots for libraries which -+# never appear together in one binary -+# -R Randomize virtual memory slot assignments for libraries. -+# This makes it slightly harder for various buffer overflow -+# attacks, since library addresses will be different on each -+# host using -R. -+PRELINK_OPTS=-mR -+ -+# How often should full prelink be run (in days) -+# Normally, prelink will be run in quick mode, every -+# $PRELINK_FULL_TIME_INTERVAL days it will be run -+# in normal mode. Comment this line out if prelink -+# should be run in normal mode always. -+PRELINK_FULL_TIME_INTERVAL=14 diff --git a/packages/prelink/prelink-20040304/.mtn2git_empty b/packages/prelink/prelink-20050901/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/prelink/prelink-20040304/.mtn2git_empty +++ b/packages/prelink/prelink-20050901/.mtn2git_empty diff --git a/packages/prelink/prelink-20050901/arm_eabi.patch b/packages/prelink/prelink-20050901/arm_eabi.patch new file mode 100644 index 0000000000..b234af9b3f --- /dev/null +++ b/packages/prelink/prelink-20050901/arm_eabi.patch @@ -0,0 +1,286 @@ +Index: prelink-0.0.20050901/src/arch-arm.c +=================================================================== +--- prelink-0.0.20050901.orig/src/arch-arm.c 2004-09-30 17:07:57.000000000 +0100 ++++ prelink-0.0.20050901/src/arch-arm.c 2006-04-07 14:41:25.000000000 +0100 +@@ -145,6 +145,24 @@ + error (0, 0, "%s: R_ARM_PC24 relocs with non-zero addend should not be present in prelinked REL sections", + dso->filename); + return 1; ++ case R_ARM_TLS_DTPOFF32: ++ write_le32 (dso, rel->r_offset, value); ++ break; ++ /* DTPMOD32 and TPOFF32 is impossible to predict unless prelink ++ sets the rules. Also for TPOFF{32,} there is REL->RELA problem. */ ++ case R_ARM_TLS_DTPMOD32: ++ if (dso->ehdr.e_type == ET_EXEC) ++ { ++ error (0, 0, "%s: R_ARM_TLS_DTPMOD32 reloc in executable?", ++ dso->filename); ++ return 1; ++ } ++ break; ++ case R_ARM_TLS_TPOFF32: ++ if (dso->ehdr.e_type == ET_EXEC) ++ error (0, 0, "%s: R_ARM_TLS_TPOFF32 relocs should not be present in prelinked ET_EXEC REL sections", ++ dso->filename); ++ break; + case R_ARM_COPY: + if (dso->ehdr.e_type == ET_EXEC) + /* COPY relocs are handled specially in generic code. */ +@@ -195,6 +213,24 @@ + write_le32 (dso, rela->r_offset, + (read_ule32 (dso, rela->r_offset) & 0xff000000) | val); + break; ++ case R_ARM_TLS_DTPOFF32: ++ write_le32 (dso, rela->r_offset, value + rela->r_addend); ++ break; ++ /* DTPMOD32 and TPOFF32 is impossible to predict unless prelink ++ sets the rules. */ ++ case R_ARM_TLS_DTPMOD32: ++ if (dso->ehdr.e_type == ET_EXEC) ++ { ++ error (0, 0, "%s: R_ARM_TLS_DTPMOD32 reloc in executable?", ++ dso->filename); ++ return 1; ++ } ++ break; ++ case R_ARM_TLS_TPOFF32: ++ if (dso->ehdr.e_type == ET_EXEC && info->resolvetls) ++ write_le32 (dso, rela->r_offset, ++ -(value + rela->r_addend - info->resolvetls->offset)); ++ break; + case R_ARM_COPY: + if (dso->ehdr.e_type == ET_EXEC) + /* COPY relocs are handled specially in generic code. */ +@@ -315,6 +351,7 @@ + { + GElf_Addr value; + struct prelink_conflict *conflict; ++ struct prelink_tls *tls; + GElf_Rela *ret; + + if (GELF_R_TYPE (rel->r_info) == R_ARM_RELATIVE +@@ -324,8 +361,31 @@ + conflict = prelink_conflict (info, GELF_R_SYM (rel->r_info), + GELF_R_TYPE (rel->r_info)); + if (conflict == NULL) +- return 0; +- value = conflict_lookup_value (conflict); ++ { ++ if (info->curtls == NULL) ++ return 0; ++ switch (GELF_R_TYPE (rel->r_info)) ++ { ++ /* Even local DTPMOD and TPOFF relocs need conflicts. */ ++ case R_ARM_TLS_DTPMOD32: ++ case R_ARM_TLS_TPOFF32: ++ break; ++ default: ++ return 0; ++ } ++ value = 0; ++ } ++ else ++ { ++ /* DTPOFF32 wants to see only real conflicts, not lookups ++ with reloc_class RTYPE_CLASS_TLS. */ ++ if (GELF_R_TYPE (rel->r_info) == R_ARM_TLS_DTPOFF32 ++ && conflict->lookup.tls == conflict->conflict.tls ++ && conflict->lookupval == conflict->conflictval) ++ return 0; ++ ++ value = conflict_lookup_value (conflict); ++ } + ret = prelink_conflict_add_rela (info); + if (ret == NULL) + return 1; +@@ -342,6 +402,33 @@ + error (0, 0, "%s: R_ARM_%s relocs should not be present in prelinked REL sections", + dso->filename, GELF_R_TYPE (rel->r_info) == R_ARM_ABS32 ? "ABS32" : "PC24"); + return 1; ++ case R_ARM_TLS_DTPMOD32: ++ case R_ARM_TLS_DTPOFF32: ++ case R_ARM_TLS_TPOFF32: ++ if (conflict != NULL ++ && (conflict->reloc_class != RTYPE_CLASS_TLS ++ || conflict->lookup.tls == NULL)) ++ { ++ error (0, 0, "%s: R_ARM_TLS not resolving to STT_TLS symbol", ++ dso->filename); ++ return 1; ++ } ++ tls = conflict ? conflict->lookup.tls : info->curtls; ++ ret->r_info = GELF_R_INFO (0, R_ARM_ABS32); ++ switch (GELF_R_TYPE (rel->r_info)) ++ { ++ case R_ARM_TLS_DTPMOD32: ++ ret->r_addend = tls->modid; ++ break; ++ case R_ARM_TLS_DTPOFF32: ++ ret->r_addend = value; ++ break; ++ case R_ARM_TLS_TPOFF32: ++ ret->r_addend = -(value + read_ule32 (dso, rel->r_offset) ++ - tls->offset); ++ break; ++ } ++ break; + case R_ARM_COPY: + error (0, 0, "R_ARM_COPY should not be present in shared libraries"); + return 1; +@@ -359,6 +446,7 @@ + { + GElf_Addr value; + struct prelink_conflict *conflict; ++ struct prelink_tls *tls; + GElf_Rela *ret; + Elf32_Sword val; + +@@ -369,8 +457,31 @@ + conflict = prelink_conflict (info, GELF_R_SYM (rela->r_info), + GELF_R_TYPE (rela->r_info)); + if (conflict == NULL) +- return 0; +- value = conflict_lookup_value (conflict); ++ { ++ if (info->curtls == NULL) ++ return 0; ++ switch (GELF_R_TYPE (rela->r_info)) ++ { ++ /* Even local DTPMOD and TPOFF relocs need conflicts. */ ++ case R_ARM_TLS_DTPMOD32: ++ case R_ARM_TLS_TPOFF32: ++ break; ++ default: ++ return 0; ++ } ++ value = 0; ++ } ++ else ++ { ++ /* DTPOFF32 wants to see only real conflicts, not lookups ++ with reloc_class RTYPE_CLASS_TLS. */ ++ if (GELF_R_TYPE (rela->r_info) == R_ARM_TLS_DTPOFF32 ++ && conflict->lookup.tls == conflict->conflict.tls ++ && conflict->lookupval == conflict->conflictval) ++ return 0; ++ ++ value = conflict_lookup_value (conflict); ++ } + ret = prelink_conflict_add_rela (info); + if (ret == NULL) + return 1; +@@ -398,6 +509,32 @@ + case R_ARM_COPY: + error (0, 0, "R_ARM_COPY should not be present in shared libraries"); + return 1; ++ case R_ARM_TLS_DTPMOD32: ++ case R_ARM_TLS_DTPOFF32: ++ case R_ARM_TLS_TPOFF32: ++ if (conflict != NULL ++ && (conflict->reloc_class != RTYPE_CLASS_TLS ++ || conflict->lookup.tls == NULL)) ++ { ++ error (0, 0, "%s: R_386_TLS not resolving to STT_TLS symbol", ++ dso->filename); ++ return 1; ++ } ++ tls = conflict ? conflict->lookup.tls : info->curtls; ++ ret->r_info = GELF_R_INFO (0, R_ARM_ABS32); ++ switch (GELF_R_TYPE (rela->r_info)) ++ { ++ case R_ARM_TLS_DTPMOD32: ++ ret->r_addend = tls->modid; ++ break; ++ case R_ARM_TLS_DTPOFF32: ++ ret->r_addend += value; ++ break; ++ case R_ARM_TLS_TPOFF32: ++ ret->r_addend = -(value + rela->r_addend - tls->offset); ++ break; ++ } ++ break; + default: + error (0, 0, "%s: Unknown arm relocation type %d", dso->filename, + (int) GELF_R_TYPE (rela->r_info)); +@@ -418,6 +555,7 @@ + abort (); + case R_ARM_RELATIVE: + case R_ARM_ABS32: ++ case R_ARM_TLS_TPOFF32: + rela->r_addend = (Elf32_Sword) read_ule32 (dso, rel->r_offset); + break; + case R_ARM_PC24: +@@ -426,6 +564,8 @@ + break; + case R_ARM_COPY: + case R_ARM_GLOB_DAT: ++ case R_ARM_TLS_DTPOFF32: ++ case R_ARM_TLS_DTPMOD32: + rela->r_addend = 0; + break; + } +@@ -445,6 +585,7 @@ + abort (); + case R_ARM_RELATIVE: + case R_ARM_ABS32: ++ case R_ARM_TLS_TPOFF32: + write_le32 (dso, rela->r_offset, rela->r_addend); + break; + case R_ARM_PC24: +@@ -453,6 +594,8 @@ + | ((rela->r_addend >> 2) & 0xffffff)); + break; + case R_ARM_GLOB_DAT: ++ case R_ARM_TLS_DTPMOD32: ++ case R_ARM_TLS_DTPOFF32: + write_le32 (dso, rela->r_offset, 0); + break; + } +@@ -488,6 +631,13 @@ + /* FALLTHROUGH */ + case R_ARM_PC24: + return 1; ++ case R_ARM_TLS_TPOFF32: ++ /* In shared libraries TPOFF is changed always into ++ conflicts, for executables we need to preserve ++ original addend. */ ++ if (dso->ehdr.e_type == ET_EXEC) ++ return 1; ++ break; + } + } + } +@@ -612,6 +762,12 @@ + return 0; + error (0, 0, "%s: R_ARM_COPY reloc in shared library?", dso->filename); + return 1; ++ case R_ARM_TLS_DTPMOD32: ++ case R_ARM_TLS_DTPOFF32: ++ write_le32 (dso, rel->r_offset, 0); ++ break; ++ case R_ARM_TLS_TPOFF32: ++ break; + default: + error (0, 0, "%s: Unknown arm relocation type %d", dso->filename, + (int) GELF_R_TYPE (rel->r_info)); +@@ -634,6 +790,10 @@ + { + case R_ARM_COPY: return RTYPE_CLASS_COPY; + case R_ARM_JUMP_SLOT: return RTYPE_CLASS_PLT; ++ case R_ARM_TLS_DTPMOD32: ++ case R_ARM_TLS_DTPOFF32: ++ case R_ARM_TLS_TPOFF32: ++ return RTYPE_CLASS_TLS; + default: return RTYPE_CLASS_VALID; + } + } +@@ -646,7 +806,7 @@ + .R_JMP_SLOT = R_ARM_JUMP_SLOT, + .R_COPY = R_ARM_COPY, + .R_RELATIVE = R_ARM_RELATIVE, +- .dynamic_linker = "/lib/ld-linux.so.2", ++ .dynamic_linker = "/lib/ld-linux.so.3", + .adjust_dyn = arm_adjust_dyn, + .adjust_rel = arm_adjust_rel, + .adjust_rela = arm_adjust_rela, diff --git a/packages/prelink/prelink-20050901/prelink.conf b/packages/prelink/prelink-20050901/prelink.conf new file mode 100644 index 0000000000..c5a4f4adc3 --- /dev/null +++ b/packages/prelink/prelink-20050901/prelink.conf @@ -0,0 +1,18 @@ +# This config file contains a list of directories both with binaries +# and libraries prelink should consider by default. +# If a directory name is prefixed with `-l ', the directory hierarchy +# will be walked as long as filesystem boundaries are not crossed. +# If a directory name is prefixed with `-h ', symbolic links in a +# directory hierarchy are followed. +-l /usr/local/sbin +-l /sbin +-l /usr/sbin +-l /usr/local/bin +-l /bin +-l /usr/bin +-l /usr/X11R6/bin +-l /usr/games +-l /usr/local/lib +-l /lib +-l /usr/lib +-l /usr/X11R6/lib diff --git a/packages/prelink/prelink-20050901/prelink.cron.daily b/packages/prelink/prelink-20050901/prelink.cron.daily new file mode 100644 index 0000000000..0b3c07322c --- /dev/null +++ b/packages/prelink/prelink-20050901/prelink.cron.daily @@ -0,0 +1,40 @@ +#!/bin/sh + +. /etc/default/prelink + +renice +19 -p $$ >/dev/null 2>&1 + +if [ "$PRELINKING" != yes ]; then + if [ -f /etc/prelink.cache ]; then + echo /usr/sbin/prelink -uav > /var/log/prelink.log + /usr/sbin/prelink -uav >> /var/log/prelink.log 2>&1 + rm -f /etc/prelink.cache + # Restart init if needed + [ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u + fi + exit 0 +fi + +if [ ! -f /etc/prelink.cache -o -f /var/lib/misc/prelink.force ] \ + || grep -q '^prelink-ELF0.[0-2]' /etc/prelink.cache; then + # If cache does not exist or is from older prelink versions or + # if we were asked to explicitely, force full prelinking + rm -f /etc/prelink.cache /var/lib/misc/prelink.force + PRELINK_OPTS="$PRELINK_OPTS -f" + date > /var/lib/misc/prelink.full +elif [ -n "$PRELINK_FULL_TIME_INTERVAL" \ + -a "`find /var/lib/misc/prelink.full -mtime -${PRELINK_FULL_TIME_INTERVAL} 2>/dev/null`" \ + = /var/lib/misc/prelink.full ]; then + # If prelink without -q has been run in the last + # PRELINK_FULL_TIME_INTERVAL days, just use quick mode + PRELINK_OPTS="$PRELINK_OPTS -q" +else + date > /var/lib/misc/prelink.full +fi + +echo /usr/sbin/prelink -av $PRELINK_OPTS > /var/log/prelink.log +/usr/sbin/prelink -av $PRELINK_OPTS >> /var/log/prelink.log 2>&1 +# Restart init if needed +[ -n "$(find `ldd /sbin/init | awk '{ print $3 }'` /sbin/init -ctime -1 2>/dev/null )" ] && /sbin/telinit u + +exit 0 diff --git a/packages/prelink/prelink-20050901/prelink.default b/packages/prelink/prelink-20050901/prelink.default new file mode 100644 index 0000000000..901258ed2a --- /dev/null +++ b/packages/prelink/prelink-20050901/prelink.default @@ -0,0 +1,22 @@ +# Set this to no to disable prelinking altogether +# or to yes to enable it. +# (if you change this from yes to no prelink -ua +# will be run next night to undo prelinking) +PRELINKING=unknown + +# Options to pass to prelink +# -m Try to conserve virtual memory by allowing overlapping +# assigned virtual memory slots for libraries which +# never appear together in one binary +# -R Randomize virtual memory slot assignments for libraries. +# This makes it slightly harder for various buffer overflow +# attacks, since library addresses will be different on each +# host using -R. +PRELINK_OPTS=-mR + +# How often should full prelink be run (in days) +# Normally, prelink will be run in quick mode, every +# $PRELINK_FULL_TIME_INTERVAL days it will be run +# in normal mode. Comment this line out if prelink +# should be run in normal mode always. +PRELINK_FULL_TIME_INTERVAL=14 diff --git a/packages/prelink/prelink_20031029.bb b/packages/prelink/prelink_20031029.bb deleted file mode 100644 index 1788dd3342..0000000000 --- a/packages/prelink/prelink_20031029.bb +++ /dev/null @@ -1,26 +0,0 @@ -SECTION = "devel" -DEPENDS = "elfutils " -DESCRIPTION = " The prelink package contains a utility which modifies ELF shared libraries \ -and executables, so that far fewer relocations need to be resolved at \ -runtime and thus programs come up faster." -LICENSE = "GPL" -SRC_URI = "ftp://people.redhat.com/jakub/prelink/prelink-${PV}.tar.bz2 \ - file://dso.c.patch;patch=1 \ - file://layout.c.patch;patch=1 \ - file://Makefile.in.patch;patch=1 \ - file://prelink.h.patch;patch=1 \ - file://ts.Makefile.am.patch;patch=1 \ - file://ts.Makefile.in.patch;patch=1 \ - file://prelink.conf \ - file://prelink.cron.daily \ - file://prelink.default" -S = "${WORKDIR}/prelink" - -inherit autotools - -do_install_append () { - install -d ${D}${sysconfdir}/cron.daily ${D}${sysconfdir}/default - install -m 0644 ${WORKDIR}/prelink.conf ${D}${sysconfdir}/prelink.conf - install -m 0644 ${WORKDIR}/prelink.cron.daily ${D}${sysconfdir}/cron.daily/prelink - install -m 0644 ${WORKDIR}/prelink.default ${D}${sysconfdir}/default/prelink -} diff --git a/packages/prelink/prelink_20040520.bb b/packages/prelink/prelink_20040520.bb deleted file mode 100644 index 922994ce3a..0000000000 --- a/packages/prelink/prelink_20040520.bb +++ /dev/null @@ -1,16 +0,0 @@ -SECTION = "devel" -DEPENDS = "elfutils " -DESCRIPTION = " The prelink package contains a utility which modifies ELF shared libraries \ -and executables, so that far fewer relocations need to be resolved at \ -runtime and thus programs come up faster." -LICENSE = "GPL" -SRC_URI = "ftp://people.redhat.com/jakub/prelink/prelink-${PV}.tar.bz2" -S = "${WORKDIR}/prelink" - -EXTRA_OECONF = "--disable-64bit" - -inherit autotools - -do_install_append () { - install -d ${D}${sysconfdir}/cron.daily ${D}${sysconfdir}/default -} diff --git a/packages/prelink/prelink_20040304.bb b/packages/prelink/prelink_20050901.bb index bb134fe536..a83ff1b61f 100644 --- a/packages/prelink/prelink_20040304.bb +++ b/packages/prelink/prelink_20050901.bb @@ -1,15 +1,24 @@ SECTION = "devel" -DEPENDS = "elfutils " +DEPENDS = "elfutils" DESCRIPTION = " The prelink package contains a utility which modifies ELF shared libraries \ and executables, so that far fewer relocations need to be resolved at \ runtime and thus programs come up faster." -LICENSE = "PRELINK" +LICENSE = "GPL" +PR = "r2" + SRC_URI = "${DEBIAN_MIRROR}/main/p/prelink/prelink_0.0.${PV}.orig.tar.gz \ file://prelink.conf \ file://prelink.cron.daily \ file://prelink.default" + +TARGET_OS_ORIG := "${TARGET_OS}" +OVERRIDES_append = ":${TARGET_OS_ORIG}" +SRC_URI_append_linux-gnueabi = " file://arm_eabi.patch;patch=1" + S = "${WORKDIR}/prelink-0.0.${PV}" +EXTRA_OECONF = "--disable-64bit" + inherit autotools do_install_append () { @@ -18,3 +27,20 @@ do_install_append () { install -m 0644 ${WORKDIR}/prelink.cron.daily ${D}${sysconfdir}/cron.daily/prelink install -m 0644 ${WORKDIR}/prelink.default ${D}${sysconfdir}/default/prelink } + +pkg_postinst_prelink() { +#!/bin/sh + +if [ "x$D" != "x" ]; then + exit 1 +fi + +prelink -a +} + +pkg_postrm_prelink() { +#!/bin/sh + +prelink -au +} + diff --git a/packages/udev/udev-063/fix-alignment.patch b/packages/udev/files/fix-alignment.patch index 8c7b8b5ac5..8c7b8b5ac5 100644 --- a/packages/udev/udev-063/fix-alignment.patch +++ b/packages/udev/files/fix-alignment.patch diff --git a/packages/udev/udev-063/noasmlinkage.patch b/packages/udev/files/noasmlinkage.patch index 0d8e854c0e..0d8e854c0e 100644 --- a/packages/udev/udev-063/noasmlinkage.patch +++ b/packages/udev/files/noasmlinkage.patch diff --git a/packages/udev/udev-084/udevsynthesize.patch b/packages/udev/files/udevsynthesize.patch index 7811188485..7811188485 100644 --- a/packages/udev/udev-084/udevsynthesize.patch +++ b/packages/udev/files/udevsynthesize.patch diff --git a/packages/udev/udev-084/udevsynthesize.sh b/packages/udev/files/udevsynthesize.sh index d58217c144..d58217c144 100644 --- a/packages/udev/udev-084/udevsynthesize.sh +++ b/packages/udev/files/udevsynthesize.sh diff --git a/packages/udev/udev-065/fix-alignment.patch b/packages/udev/udev-065/fix-alignment.patch deleted file mode 100644 index 8c7b8b5ac5..0000000000 --- a/packages/udev/udev-065/fix-alignment.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/udev_rules_parse.c b/udev_rules_parse.c ---- a/udev_rules_parse.c -+++ b/udev_rules_parse.c -@@ -241,6 +241,7 @@ static int add_to_rules(struct udev_rule - int valid; - char *linepos; - char *attr; -+ size_t padding; - int retval; - - /* get all the keys */ -@@ -506,6 +507,11 @@ static int add_to_rules(struct udev_rule - - /* grow buffer and add rule */ - rule_size = sizeof(struct udev_rule) + rule->bufsize; -+ padding = (sizeof(size_t) - rule_size % sizeof(size_t)) % sizeof(size_t); -+ dbg("add %zi padding bytes", padding); -+ rule_size += padding; -+ rule->bufsize += padding; -+ - rules->buf = realloc(rules->buf, rules->bufsize + rule_size); - if (!rules->buf) { - err("realloc failed"); - diff --git a/packages/udev/udev-065/noasmlinkage.patch b/packages/udev/udev-065/noasmlinkage.patch deleted file mode 100644 index 0d8e854c0e..0000000000 --- a/packages/udev/udev-065/noasmlinkage.patch +++ /dev/null @@ -1,38 +0,0 @@ - -# -# 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-070/noasmlinkage.patch b/packages/udev/udev-070/noasmlinkage.patch deleted file mode 100644 index 0d8e854c0e..0000000000 --- a/packages/udev/udev-070/noasmlinkage.patch +++ /dev/null @@ -1,38 +0,0 @@ - -# -# 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-071/noasmlinkage.patch b/packages/udev/udev-071/noasmlinkage.patch deleted file mode 100644 index 0d8e854c0e..0000000000 --- a/packages/udev/udev-071/noasmlinkage.patch +++ /dev/null @@ -1,38 +0,0 @@ - -# -# 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/noasmlinkage.patch b/packages/udev/udev-084/noasmlinkage.patch deleted file mode 100644 index 0d8e854c0e..0000000000 --- a/packages/udev/udev-084/noasmlinkage.patch +++ /dev/null @@ -1,38 +0,0 @@ - -# -# 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-089/.mtn2git_empty b/packages/udev/udev-089/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/udev/udev-089/.mtn2git_empty diff --git a/packages/udev/udev-089/flags.patch b/packages/udev/udev-089/flags.patch new file mode 100644 index 0000000000..492a39881c --- /dev/null +++ b/packages/udev/udev-089/flags.patch @@ -0,0 +1,51 @@ +--- udev-089/Makefile.orig 2006-04-08 13:32:53.000000000 +0200 ++++ udev-089/Makefile 2006-04-08 13:34:27.000000000 +0200 +@@ -117,28 +117,28 @@ + AR = $(CROSS_COMPILE)ar + RANLIB = $(CROSS_COMPILE)ranlib + +-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 + endif + + ifeq ($(strip $(USE_GCOV)),true) +- CFLAGS += -fprofile-arcs -ftest-coverage ++ override CFLAGS += -fprofile-arcs -ftest-coverage + LDFLAGS += -fprofile-arcs + endif + +@@ -151,11 +151,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-089/init b/packages/udev/udev-089/init new file mode 100644 index 0000000000..5a60d52a9a --- /dev/null +++ b/packages/udev/udev-089/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 -a /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 + ;; + + restart|force-reload) + echo "Stopping the hotplug events dispatcher" "udevd" + if start-stop-daemon --stop --name udevd --quiet ; 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-089/local.rules b/packages/udev/udev-089/local.rules new file mode 100644 index 0000000000..bb8459ba23 --- /dev/null +++ b/packages/udev/udev-089/local.rules @@ -0,0 +1,28 @@ +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +# Media automounting +SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh" +SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh" + +# Handle network interface setup +SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh" +SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh" + +# The first rtc device is symlinked to /dev/rtc +KERNEL="rtc0", SYMLINK="rtc" + +# Try and modprobe for drivers for new hardware +ACTION="add", DEVPATH="/devices/*", MODALIAS=="?*", RUN+="/sbin/modprobe $modalias" diff --git a/packages/udev/udev-089/udev.rules b/packages/udev/udev-089/udev.rules new file mode 100644 index 0000000000..7b4152c5bf --- /dev/null +++ b/packages/udev/udev-089/udev.rules @@ -0,0 +1,98 @@ +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +# SCSI devices +BUS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n" + +# USB devices +BUS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k" +BUS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k" +BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k" +BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k" +BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k" +BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k" +BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \ + SYMLINK+="pilot" + +# usbfs-like devices +SUBSYSTEM=="usb_device", \ + PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c" + +# serial devices +KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20" +KERNEL=="capi[0-9]*", NAME="capi/%n" + +# video devices +KERNEL=="card[0-9]*", NAME="dri/%k" + +# misc devices +KERNEL=="hw_random", NAME="hwrng" +KERNEL=="tun", NAME="net/%k" + +KERNEL=="cdemu[0-9]*", NAME="cdemu/%n" +KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n" +KERNEL=="pktcdvd", NAME="pktcdvd/control" + +KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" +KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" +KERNEL=="microcode", NAME="cpu/microcode" + +KERNEL=="umad*", NAME="infiniband/%k" +KERNEL=="issm*", NAME="infiniband/%k" +KERNEL=="uverbs*", NAME="infiniband/%k" +KERNEL=="ucm", NAME="infiniband/%k" + +KERNEL=="buzzer", NAME="misc/buzzer" + +# ALSA devices +KERNEL=="controlC[0-9]*", NAME="snd/%k" +KERNEL=="hwC[D0-9]*", NAME="snd/%k" +KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k" +KERNEL=="midiC[D0-9]*", NAME="snd/%k" +KERNEL=="timer", NAME="snd/%k" +KERNEL=="seq", NAME="snd/%k" + +# ieee1394 devices +KERNEL=="dv1394*", NAME="dv1394/%n" +KERNEL=="video1394*", NAME="video1394/%n" + +# input devices +KERNEL=="mice", NAME="input/%k" +KERNEL=="mouse[0-9]*", NAME="input/%k" +KERNEL=="event[0-9]*", NAME="input/%k" +KERNEL=="js[0-9]*", NAME="input/%k" +KERNEL=="ts[0-9]*", NAME="input/%k" +KERNEL=="uinput", NAME="input/%k" + +# Zaptel +KERNEL=="zapctl", NAME="zap/ctl" +KERNEL=="zaptimer", NAME="zap/timer" +KERNEL=="zapchannel", NAME="zap/channel" +KERNEL=="zappseudo", NAME="zap/pseudo" +KERNEL=="zap[0-9]*", NAME="zap/%n" + +# AOE character devices +SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k" +SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k" +SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k" + +# device mapper creates its own device nodes, so ignore these +KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device" +KERNEL=="device-mapper", NAME="mapper/control" + +KERNEL="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660" + +# Firmware Helper +ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware_helper" diff --git a/packages/udev/udev_089.bb b/packages/udev/udev_089.bb new file mode 100644 index 0000000000..28cda40f0f --- /dev/null +++ b/packages/udev/udev_089.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 ." + +FILES_${PN} += "${base_libdir}" +UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/ extras/run_directory/" +EXTRA_OEMAKE += "libudevdir=/lib/udev" + +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 +} |