summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS8
-rw-r--r--classes/insane.bbclass2
-rw-r--r--classes/own-mirrors.bbclass4
-rw-r--r--classes/seppuku.bbclass111
-rw-r--r--classes/tinderclient.bbclass4
-rw-r--r--conf/distro/angstrom-2007.1.conf6
-rw-r--r--conf/distro/foonas.conf67
-rw-r--r--conf/distro/include/slugos.inc5
-rw-r--r--conf/distro/mokoslug.conf13
-rw-r--r--conf/documentation.conf4
-rw-r--r--conf/machine/fic-gta01.conf9
-rw-r--r--conf/machine/turbostation.conf9
-rw-r--r--packages/alsa/alsa-state.bb50
-rw-r--r--packages/alsa/alsa-state/.mtn2git_empty (renamed from packages/asterisk/asterisk-1.0.9/.mtn2git_empty)0
-rwxr-xr-xpackages/alsa/alsa-state/alsa-state29
-rw-r--r--packages/alsa/alsa-state/asound.state1
-rw-r--r--packages/alsa/alsa-state/fic-gta01/.mtn2git_empty (renamed from packages/asterisk/asterisk-1.2.12.1/.mtn2git_empty)0
-rw-r--r--packages/alsa/alsa-state/fic-gta01/asound.state900
-rw-r--r--packages/asterisk/asterisk-1.0.9/gsm.patch71
-rw-r--r--packages/asterisk/asterisk-1.0.9/makefile.patch311
-rw-r--r--packages/asterisk/asterisk-1.2.16/.mtn2git_empty (renamed from packages/asterisk/asterisk-1.2.8/.mtn2git_empty)0
-rw-r--r--packages/asterisk/asterisk-1.2.16/asterisk.patch (renamed from packages/asterisk/asterisk-1.2.12.1/asterisk.patch)0
-rw-r--r--packages/asterisk/asterisk-1.2.16/uclibc-compat-getloadavg.patch (renamed from packages/asterisk/asterisk-1.2.12.1/uclibc-compat-getloadavg.patch)0
-rw-r--r--packages/asterisk/asterisk-1.2.16/uclibc-dsn.patch (renamed from packages/asterisk/asterisk-1.2.12.1/uclibc-dsn.patch)0
-rw-r--r--packages/asterisk/asterisk-1.2.8/makefile.patch200
-rw-r--r--packages/asterisk/asterisk-1.2.9.1/asterisk.patch221
-rw-r--r--packages/asterisk/asterisk-1.2.9.1/uclibc-compat-getloadavg.patch13
-rw-r--r--packages/asterisk/asterisk-1.2.9.1/uclibc-dsn.patch18
-rw-r--r--packages/asterisk/asterisk_1.0.9.bb33
-rw-r--r--packages/asterisk/asterisk_1.2.12.1.bb38
-rw-r--r--packages/asterisk/asterisk_1.2.16.bb (renamed from packages/asterisk/asterisk_1.2.9.1.bb)9
-rw-r--r--packages/asterisk/asterisk_1.2.8.bb32
-rw-r--r--packages/busybox/busybox-1.2.1/foonas/.mtn2git_empty (renamed from packages/asterisk/asterisk-1.2.9.1/.mtn2git_empty)0
-rw-r--r--packages/busybox/busybox-1.2.1/foonas/defconfig643
-rw-r--r--packages/confuse/.mtn2git_empty0
-rw-r--r--packages/confuse/confuse-native_2.5.bb3
-rw-r--r--packages/confuse/confuse_2.5.bb17
-rw-r--r--packages/confuse/files/.mtn2git_empty0
-rw-r--r--packages/confuse/files/build-only-library.patch13
-rw-r--r--packages/cups/cups_1.2.7.bb6
-rw-r--r--packages/dfu-util/.mtn2git_empty0
-rw-r--r--packages/dfu-util/dfu-util-native_svn.bb16
-rw-r--r--packages/dfu-util/dfu-util_svn.bb17
-rw-r--r--packages/foonas-init/.mtn2git_empty0
-rw-r--r--packages/foonas-init/files/.mtn2git_empty0
-rw-r--r--packages/foonas-init/files/boot/.mtn2git_empty0
-rw-r--r--packages/foonas-init/files/boot/disk67
-rw-r--r--packages/foonas-init/files/boot/flash13
-rw-r--r--packages/foonas-init/files/boot/network16
-rw-r--r--packages/foonas-init/files/boot/nfs19
-rw-r--r--packages/foonas-init/files/boot/udhcpc.script17
-rw-r--r--packages/foonas-init/files/conffiles55
-rw-r--r--packages/foonas-init/files/functions413
-rw-r--r--packages/foonas-init/files/initscripts/.mtn2git_empty0
-rw-r--r--packages/foonas-init/files/initscripts/fixfstab91
-rw-r--r--packages/foonas-init/files/initscripts/loadmodules.sh11
-rw-r--r--packages/foonas-init/files/initscripts/rmrecovery4
-rw-r--r--packages/foonas-init/files/initscripts/sysconfsetup46
-rw-r--r--packages/foonas-init/files/initscripts/syslog.buffer23
-rw-r--r--packages/foonas-init/files/initscripts/syslog.file23
-rw-r--r--packages/foonas-init/files/initscripts/syslog.network28
-rw-r--r--packages/foonas-init/files/initscripts/umountinitrd.sh34
-rw-r--r--packages/foonas-init/files/links.conf6
-rw-r--r--packages/foonas-init/files/modulefunctions39
-rw-r--r--packages/foonas-init/files/reflash163
-rw-r--r--packages/foonas-init/files/sysconf793
-rw-r--r--packages/foonas-init/files/turnup861
-rw-r--r--packages/foonas-init/foonas-init_0.10.bb144
-rw-r--r--packages/fuse/fuse-2.6.3/.mtn2git_empty0
-rw-r--r--packages/fuse/fuse-2.6.3/not-run-updaterc.d-on-host.patch21
-rw-r--r--packages/fuse/fuse_2.6.3.bb22
-rw-r--r--packages/glib-2.0/glib-2.0-2.12.10/.mtn2git_empty0
-rw-r--r--packages/glib-2.0/glib-2.0-2.12.10/configure-libtool.patch20
-rw-r--r--packages/glib-2.0/glib-2.0_2.12.10.bb6
-rw-r--r--packages/gnome/goffice_0.3.2.bb2
-rw-r--r--packages/gnumeric/gnumeric_1.6.3.bb3
-rw-r--r--packages/gpe-ownerinfo/gpe-ownerinfo/compile.patch13
-rw-r--r--packages/gpe-ownerinfo/gpe-ownerinfo_0.28.bb4
-rw-r--r--packages/gpe-scap/gpe-scap-1.2/.mtn2git_empty0
-rw-r--r--packages/gpe-scap/gpe-scap-1.2/deviceinfo.patch22
-rw-r--r--packages/gpe-scap/gpe-scap_1.2.bb3
-rw-r--r--packages/gtkhtml/gtkhtml-3.8_3.8.2.bb18
-rw-r--r--packages/images/foonas-image.bb95
-rw-r--r--packages/images/openprotium-image.bb7
-rw-r--r--packages/initscripts/initscripts-1.0/foonas/.mtn2git_empty0
-rwxr-xr-xpackages/initscripts/initscripts-1.0/foonas/checkroot.sh212
-rwxr-xr-xpackages/initscripts/initscripts-1.0/foonas/devices70
-rw-r--r--packages/initscripts/initscripts-1.0/foonas/domainname.sh5
-rwxr-xr-xpackages/initscripts/initscripts-1.0/foonas/halt27
-rwxr-xr-xpackages/initscripts/initscripts-1.0/foonas/reboot12
-rw-r--r--packages/iptables/files/.mtn2git_empty0
-rw-r--r--packages/iptables/files/compile.patch17
-rw-r--r--packages/iptables/iptables_1.2.9.bb5
-rw-r--r--packages/iptables/iptables_1.3.3.bb5
-rw-r--r--packages/libftdi/files/ftdi_eeprom-0.2-moko.patch16
-rw-r--r--packages/libftdi/ftdi-eeprom-native_0.2.bb8
-rw-r--r--packages/libftdi/ftdi-eeprom_0.2.bb13
-rw-r--r--packages/libftdi/libftdi_0.8.bb2
-rw-r--r--packages/linux/ixp4xx-kernel.inc6
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.20/defconfig19
-rw-r--r--packages/linux/ixp4xx-kernel_2.6.20.bb4
-rw-r--r--packages/linux/linux-ezx/wyrm-ts.diff119
-rw-r--r--packages/linux/linux-ezx_2.6.16.13.bb5
-rw-r--r--packages/linux/linux-ezx_2.6.19+2.6.20-rc2.bb5
-rw-r--r--packages/linux/linux-gta01_2.6.20.bb2
-rw-r--r--packages/linux/linux-handhelds-2.6.inc4
-rw-r--r--packages/linux/linux-rp_2.6.20.bb3
-rw-r--r--packages/linux/linux-turbostation/defconfig702
-rw-r--r--packages/linux/linux-turbostation_2.6.20.1.bb25
-rw-r--r--packages/ltp/.mtn2git_empty0
-rw-r--r--packages/ltp/ltp-20070228/.mtn2git_empty0
-rw-r--r--packages/ltp/ltp-20070228/cross-compile.patch51
-rw-r--r--packages/ltp/ltp-20070228/ltp-run4
-rw-r--r--packages/ltp/ltp-20070228/runltp-path.patch13
-rw-r--r--packages/ltp/ltp_20070228.bb42
-rw-r--r--packages/madwifi/madwifi-ng_r2182-20070308.bb3
-rw-r--r--packages/matchbox2/matchbox-panel-2_svn.bb3
-rw-r--r--packages/meta/foonas-packages.bb144
-rw-r--r--packages/meta/slugos-native.bb9
-rw-r--r--packages/meta/slugos-packages.bb9
-rw-r--r--packages/netbase/netbase/foonas/.mtn2git_empty0
-rw-r--r--packages/netbase/netbase/foonas/interfaces13
-rw-r--r--packages/netbase/netbase_4.21.bb2
-rw-r--r--packages/openmoko-base/openmoko-theme-standard_svn.bb2
-rw-r--r--packages/openmoko-pim/openmoko-dates/om-dates-temp-buildfix_20070308.patch8
-rw-r--r--packages/openmoko-pim/openmoko-dates_svn.bb4
-rw-r--r--packages/s3c2410-utils/sjf2410-linux-native_20060807.bb2
-rw-r--r--packages/s3c2410-utils/sjf2410-linux-native_svn.bb2
-rw-r--r--packages/spandsp/.mtn2git_empty0
-rw-r--r--packages/spandsp/spandsp_0.0.2+0.0.3pre27.bb17
-rw-r--r--packages/tasks/task-base.bb6
-rw-r--r--packages/tasks/task-gpephone.bb4
-rw-r--r--packages/tasks/task-mokogateway.bb77
-rw-r--r--packages/tasks/task-openmoko.bb11
-rw-r--r--packages/tasks/task-slugos.bb10
-rw-r--r--packages/tslib/tslib-1.0/fic-gta01/.mtn2git_empty0
-rw-r--r--packages/tslib/tslib-1.0/fic-gta01/ts.conf25
-rw-r--r--packages/tslib/tslib-1.0/ts.conf2
-rw-r--r--packages/tslib/tslib_1.0.bb2
-rw-r--r--packages/ttf-fonts/ttf-dejavu_2.15.bb (renamed from packages/ttf-fonts/ttf-dejavu_2.13.bb)0
-rw-r--r--packages/uboot-utils/files/.mtn2git_empty0
-rw-r--r--packages/uboot-utils/files/env-Makefile.patch (renamed from packages/uboot-utils/env-Makefile.patch)0
-rw-r--r--packages/uboot-utils/files/fw_env.c.patch (renamed from packages/uboot-utils/fw_env.c.patch)0
-rw-r--r--packages/uboot-utils/files/fw_env.h.patch (renamed from packages/uboot-utils/fw_env.h.patch)0
-rw-r--r--packages/uboot-utils/files/tools-Makefile.patch (renamed from packages/uboot-utils/tools-Makefile.patch)0
-rw-r--r--packages/uboot-utils/uboot-utils_1.1.2.bb6
-rw-r--r--packages/uboot/u-boot-mkimage-gta01-native_svn.bb18
-rw-r--r--packages/uboot/uboot-gta01_svn.bb2
-rw-r--r--packages/xorg-lib/diet-x11/makekeys.diff12
-rw-r--r--packages/xorg-lib/diet-x11_X11R7.1-1.0.1.bb3
-rw-r--r--packages/xorg-lib/libx11/makekeys.diff12
-rw-r--r--packages/xorg-lib/libx11_X11R7.1-1.0.1.bb1
-rw-r--r--packages/xserver-common/xserver-common_1.15.bb17
-rw-r--r--packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver3
-rw-r--r--packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb4
-rw-r--r--packages/zd1211/zd1211-firmware_1.3.bb16
156 files changed, 6647 insertions, 1183 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 2ad122350c..0dd848a2d9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -182,11 +182,11 @@ Recipes: directfb, php
Person: Øyvind Repvik
Mail: nail@nslu2-linux.org
-Machines: nslu2, fsg3, ixp4xx, n2100
-Distros: debianslug, openslug, slugos
+Machines: nslu2, fsg3, ixp4xx, n2100, turbostation
+Distros: foonas, slugos
Recipes: bwmon, watchdog, wakelan, libdvb, sane-backends, samba
-Recipes: ccxstream, eciadsl, ssmtp, gstreamer, ixp4xx-npe, joe
+Recipes: ccxstream, eciadsl, ssmtp, ixp4xx-npe, joe
Recipes: lcdproc, libol, mailx, mysql, musicpd, openntpd, qc-usb
Recipes: radlib, scsi-idle, rng-tools, slugos-init, syslog-ng
-Recipes: vsftpd, zd1211, wpa-supplicant
+Recipes: vsftpd, zd1211
diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index a3ca21d1dc..40f6151f08 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -206,7 +206,7 @@ def package_qa_check_rpath(file,name,d):
bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check")
output = os.popen("%s -Byr %s" % (scanelf,file))
- txt = output.readline().rsplit()
+ txt = output.readline().split()
if bad_dir in txt:
package_qa_write_error( 1, name, file, d)
bb.error("QA Issue package %s contains bad RPATH %s in file %s" % (name, txt, file))
diff --git a/classes/own-mirrors.bbclass b/classes/own-mirrors.bbclass
new file mode 100644
index 0000000000..32763ed24f
--- /dev/null
+++ b/classes/own-mirrors.bbclass
@@ -0,0 +1,4 @@
+PREMIRRORS() {
+http://.*/.* ${SOURCE_MIRROR_URL}
+ftp://.*/.* ${SOURCE_MIRROR_URL}
+}
diff --git a/classes/seppuku.bbclass b/classes/seppuku.bbclass
index 5757df7efb..8d5e234c49 100644
--- a/classes/seppuku.bbclass
+++ b/classes/seppuku.bbclass
@@ -5,6 +5,23 @@
# This class requires python2.4 because of the urllib2 usage
#
+def seppuku_spliturl(url):
+ """
+ Split GET URL to return the host base and the query
+ as a param dictionary
+ """
+ import urllib
+ (uri,query) = urllib.splitquery(url)
+ param = {}
+ for par in query.split("&"):
+ (key,value) = urllib.splitvalue(par)
+ key = urllib.unquote(key)
+ value = urllib.unquote(value)
+ param[key] = value
+
+ return (uri,param)
+
+
def seppuku_login(opener, login, user, password):
"""
@@ -109,7 +126,7 @@ def seppuku_find_bug_report(opener, query, product, component, bugname):
(number,status) = scanner.result()[0]
return (not status in ["CLOS", "RESO", "VERI"],number)
-def seppuku_reopen_bug(opener, file, product, component, bug_number, bugname, text):
+def seppuku_reopen_bug(poster, file, product, component, bug_number, bugname, text):
"""
Reopen a bug report and append to the comment
@@ -118,22 +135,34 @@ def seppuku_reopen_bug(opener, file, product, component, bug_number, bugname, te
http://bugzilla.openmoko.org/cgi-bin/bugzilla/process_bug.cgi?id=239&bug_file_loc=http%3A%2F%2F&version=2007&longdesclength=2&product=OpenMoko&component=autobuilds&comment=bla&priority=P2&bug_severity=normal&op_sys=Linux&rep_platform=Neo1973&knob=reopen&target_milestone=Phase+0&short_desc=foo
"""
- import urllib, urllib2
- param = urllib.urlencode( { "product" : product, "component" : component, "longdesclength" : 2,
- "short_desc" : bugname, "knob" : "reopen", "id" : bug_number, "comment" : text } )
+ import urllib2
+ (uri, param) = seppuku_spliturl( file )
+
+ # Prepare the post
+ param["product"] = product
+ param["component"] = component
+ param["longdesclength"] = 2
+ param["short_desc"] = bugname
+ param["knob"] = "reopen"
+ param["id"] = bug_number
+ param["comment"] = text
+
try:
- result = opener.open( file + param )
+ result = poster.open( uri, param )
except urllib2.HTTPError, e:
print e.geturl()
print e.info()
return False
+ except Exception, e:
+ print e
+ return False
if result.code != 200:
return False
else:
return True
-def seppuku_file_bug(opener, file, product, component, bugname, text):
+def seppuku_file_bug(poster, file, product, component, bugname, text):
"""
Create a completely new bug report
@@ -150,14 +179,21 @@ def seppuku_file_bug(opener, file, product, component, bugname, text):
@param text Text
"""
- import urllib,urllib2
- param = urllib.urlencode( { "product" : product, "component" : component, "short_desc" : bugname, "comment" : text } )
+ import urllib2
+ (uri, param) = seppuku_spliturl( file )
+ param["product"] = product
+ param["component"] = component
+ param["short_desc"] = bugname
+ param["comment"] = text
+
try:
- result = opener.open( file + param )
+ result = poster.open( uri, param )
except urllib2.HTTPError, e:
print e.geturl()
print e.info()
- raise e
+ return False
+ except Exception, e:
+ print e
return False
if result.code != 200:
@@ -165,6 +201,35 @@ def seppuku_file_bug(opener, file, product, component, bugname, text):
else:
return True
+def seppuku_create_attachment(poster, attach_query, product, component, bug_number, text, file):
+ """
+
+ Create a new attachment for the failed report
+ """
+
+ if not bug_number:
+ import bb
+ bb.note("Can't create an attachment, the bug is not present")
+ return False
+
+ import urllib2
+ param = { "bugid" : bug_number, "action" : "insert", "data" : file, "description" : "Build log", "ispatch" : "0", "contenttypemethod" : "list", "contenttypeselection" : "text/plain", "comment" : text }
+
+ try:
+ result = poster.open( attach_query, param )
+ except urllib2.HTTPError, e:
+ print e.geturl()
+ print e.info()
+ return False
+ except Exception, e:
+ print e
+ return False
+
+ print result.read()
+ if result.code != 200:
+ return False
+ else:
+ return True
addhandler seppuku_eventhandler
@@ -177,7 +242,12 @@ python seppuku_eventhandler() {
from bb import data, mkdirhier, build
import bb, os, glob
- bb.note( "Ran" )
+ # Try to load our exotic libraries
+ try:
+ import MultipartPostHandler
+ except:
+ bb.note("You need to put the MultipartPostHandler into your PYTHONPATH. Download it from http://pipe.scs.fsu.edu/PostHandler/MultipartPostHandler.py")
+ return NotHandled
try:
import urllib2, cookielib
@@ -194,10 +264,12 @@ python seppuku_eventhandler() {
elif name == "TaskFailed" or name == "NoProvider":
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
+ poster = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj),MultipartPostHandler.MultipartPostHandler)
login = bb.data.getVar("SEPPUKU_LOGIN", data, True)
query = bb.data.getVar("SEPPUKU_QUERY", data, True)
newbug = bb.data.getVar("SEPPUKU_NEWREPORT", data, True)
reopen = bb.data.getVar("SEPPUKU_ADDCOMMENT", data, True)
+ attach = bb.data.getVar("SEPPUKU_ATTACHMENT", data, True)
user = bb.data.getVar("SEPPUKU_USER", data, True)
passw = bb.data.getVar("SEPPUKU_PASS", data, True)
product = bb.data.getVar("SEPPUKU_PRODUCT", data, True)
@@ -215,12 +287,12 @@ python seppuku_eventhandler() {
"pr" : bb.data.getVar("PR", data, True),
"task" : e.task }
log_file = glob.glob("%s/log.%s.*" % (bb.data.getVar('T', event.data, True), event.task))
- if len(log_file) != 0:
- to_file = bb.data.getVar('TINDER_LOG', event.data, True)
- text = "".join(open(log_file[0], 'r').readlines())
+ text = "The package failed to build at %s" % bb.data.getVar('DATETIME', data, True)
+ file = open(log_file[0], 'r')
elif name == "NoProvider":
bugname = "noprovider for %s runtime: %s" % (event.getItem, event.getisRuntime)
text = "Please fix it"
+ file = None
else:
assert False
@@ -234,10 +306,17 @@ python seppuku_eventhandler() {
return NotHandled
if bug_number and not bug_open:
- if not seppuku_reopen_bug(opener, reopen, product, component, bug_number, bugname, text):
+ if not seppuku_reopen_bug(poster, reopen, product, component, bug_number, bugname, text):
bb.note("Failed to reopen the bug report")
- elif not seppuku_file_bug(opener, newbug, product, component, bugname, text):
+ elif not seppuku_file_bug(poster, newbug, product, component, bugname, text):
bb.note("Filing a bugreport failed")
+ else:
+ # get the new bug number and create an attachment
+ (bug_open, bug_number) = seppuku_find_bug_report(opener, query, product, component, bugname)
+
+ if file:
+ if not seppuku_create_attachment(poster, attach, product, component, bug_number, text, file):
+ bb.note("Failed to attach the build log")
return NotHandled
}
diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass
index 3f5183cc8f..d1d9f49fac 100644
--- a/classes/tinderclient.bbclass
+++ b/classes/tinderclient.bbclass
@@ -371,6 +371,10 @@ addhandler tinderclient_eventhandler
python tinderclient_eventhandler() {
from bb import note, error, data
from bb.event import NotHandled
+
+ if e.data is None:
+ return NotHandled
+
do_tinder_report = data.getVar('TINDER_REPORT', e.data, True)
if do_tinder_report and do_tinder_report == "1":
tinder_do_tinder_report(e)
diff --git a/conf/distro/angstrom-2007.1.conf b/conf/distro/angstrom-2007.1.conf
index d6766bedbc..122bd44b34 100644
--- a/conf/distro/angstrom-2007.1.conf
+++ b/conf/distro/angstrom-2007.1.conf
@@ -8,7 +8,7 @@
#DISTRO_VERSION = "2007.3"
DISTRO_VERSION = "test-${DATE}"
-DISTRO_REVISION = "35"
+DISTRO_REVISION = "36"
require conf/distro/include/angstrom.inc
require conf/distro/include/sane-srcdates.inc
@@ -35,6 +35,7 @@ FEED_ARCH ?= "${TARGET_ARCH}"
FEED_ARCH_ep93xx = "armv4t"
FEED_ARCH_h6300 = "armv4t"
+FEED_ARCH_fic-gta01 = "armv4t"
#armv5t machines
@@ -259,3 +260,6 @@ DISTRO_EXTRA_RDEPENDS += "\
${DEBUG_APPS} \
"
+DISTRO_EXTRA_RRECOMMENDS += " \
+ kernel-module-vfat \
+ "
diff --git a/conf/distro/foonas.conf b/conf/distro/foonas.conf
new file mode 100644
index 0000000000..6d5385c338
--- /dev/null
+++ b/conf/distro/foonas.conf
@@ -0,0 +1,67 @@
+#
+# FooNAS distribution - a NAS-centric distribution
+# based on openprotium
+#
+
+DISTRO_NAME = "foonas"
+
+# This is only changed for a release
+DISTRO_VERSION = ".dev-snapshot-${SRCDATE}"
+DISTRO_TYPE = "alpha"
+# These should be merged once the bogofeed change has been committed.
+FEED_URIS = "foonas-packages##http://ipkg.foonas.org/${MACHINE}/cross/1.0-dev/packages"
+FEED_URIS += "foonas-kernel##http://ipkg.foonas.org/{MACHINE}/cross/1.0-dev/kernel"
+
+#
+# Naming schemes
+#
+INHERIT += "debian"
+
+#
+# Packaging and output format
+#
+INHERIT += "package_ipk"
+IMAGE_BASENAME = "foonas"
+IMAGE_FSTYPES = "jffs2"
+
+#
+# binutils and compilers
+#
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross"
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross"
+#conflict between this and the last below.
+#PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
+# Select 2.6 versions of the depmod support
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}libc-for-gcc:glibc-intermediate"
+
+PREFERRED_PROVIDER_virtual/libx11 = "libx11"
+PREFERRED_PROVIDER_virtual/libiconv = "glibc"
+PREFERRED_PROVIDER_virtual/libintl = "glibc"
+
+PREFERRED_PROVIDER_virtual/db = "db"
+PREFERRED_PROVIDER_virtual/db-native = "db-native"
+
+PREFERRED_VERSION_binutils = "2.16"
+PREFERRED_VERSION_binutils-cross = "2.16"
+
+PREFERRED_VERSION_gcc = "4.1.2"
+PREFERRED_VERSION_gcc-cross = "4.1.1"
+PREFERRED_VERSION_gcc-cross-initial = "4.1.1"
+
+PREFERRED_VERSION_glibc = "2.5"
+PREFERRED_VERSION_glibc-intermediate = "2.5"
+PREFERRED_VERSION_glibc-initial = "2.3.2"
+GLIBC_ADDONS = "nptl"
+GLIBC_EXTRA_OECONF = "--with-tls"
+
+#
+# Target OS
+#
+USE_NLS ?= "no"
+TARGET_OS = "linux"
+HOTPLUG = "udev"
+require conf/distro/include/sane-srcdates.inc
+
+CMDLINE_DEBUG = "noirqdebug"
diff --git a/conf/distro/include/slugos.inc b/conf/distro/include/slugos.inc
index a89d193225..3edaa342cb 100644
--- a/conf/distro/include/slugos.inc
+++ b/conf/distro/include/slugos.inc
@@ -144,3 +144,8 @@ PREFERRED_VERSION_ipkg-native ?= "0.99.154"
#FIXME: HACK: REMOVE THIS
IGNORE_STRIP_ERRORS = ""
+
+# Due to upstream instability, and another OE project with conflicting
+# needs, nail down a specific, known-working version of madwifi-ng.
+# Remove this once the madwifi-ng stuff seems to stabilize once again.
+PREFERRED_VERSION_madwifi-ng ?= "r2156-20070225"
diff --git a/conf/distro/mokoslug.conf b/conf/distro/mokoslug.conf
index ea20fdd6b6..5598694397 100644
--- a/conf/distro/mokoslug.conf
+++ b/conf/distro/mokoslug.conf
@@ -14,9 +14,16 @@ DISTRO_VERSION = "1.0-alpha"
DISTRO_REVISION = "1"
DISTRO_TYPE = "debug"
+MACHINE_TASK_PROVIDER = "task-base task-mokogateway-everything"
+
+# Even though the NSLU2 does not have built-in bluetooth,
+# we assume that a MokoSlug gateway has a bluetooth dongle.
MACHINE_FEATURES_append_nslu2 = " bluetooth"
-# No room for debug apps in 8MB.
-DEBUG_APPS = ""
+# No room for debug apps on an NSLU2.
+DEBUG_APPS_nslu2 = ""
+
+# No room for a kernel image on an NSLU2.
+IMAGE_PREPROCESS_COMMAND_append_nslu2 = "rm ${IMAGE_ROOTFS}/boot/zImage*;"
-INHERIT += "nslu2-image" \ No newline at end of file
+INHERIT_append_nslu2 = "nslu2-image" \ No newline at end of file
diff --git a/conf/documentation.conf b/conf/documentation.conf
index eec06daf7c..4782a053ba 100644
--- a/conf/documentation.conf
+++ b/conf/documentation.conf
@@ -105,6 +105,7 @@ COMPATIBLE_HOST[doc] = "A regular expression which matches the HOST_SYS names su
COMPATIBLE_MACHINE[doc] = "A regular expression which matches the MACHINES support by the package/file. Failure to match will cause the file to be skipped by the parser."
SOURCE_MIRROR_FETCH[doc] = "Switch marking build as source fetcher. Used to skip COMPATIBLE_* checking."
+SOURCE_MIRROR_URL[doc] = "URL to source mirror which will be used before fetching from original SRC_URI."
BBINCLUDELOGS[doc] = "Boolean switch to get log printed on failure."
BBINCLUDELOGS_LINES[doc] = "Amount of log lines printed on failure."
@@ -122,6 +123,9 @@ SEPPUKU_QUERY[doc] = "The query script of the bugzilla"
SEPPUKU_NEWREPORT[doc]= "This is the url used to create a new bug report, note the defaults for version and priority and more, and the trailing &"
#SEPPUKU_ADDCOMMENT = "http://bugzilla.openmoko.org/cgi-bin/bugzilla/process_bug.cgi?bug_file_loc=http%3A%2F%2F&version=unspecified&longdesclength=2&priority=P2&bug_severity=normal&op_sys=Linux&rep_platform=Neo1973&target_milestone=Phase+0&"
SEPPUKU_ADDCOMMENT[doc]= "The url used to reopen bug reports and to add another new comment"
+#SEPPUKU_ATTACHMENT = "http:/bugzilla.openmoko.org/cgi-bin/bugzilla/attachment.cgi"
+SEPPUKU_ATTACHMENT[doc] = "The url used to create attachments."
+
#SEPPUKU_PRODUCT = "OpenMoko"
SEPPUKU_PRODUCT[doc] = "The product inside the bugtracker"
diff --git a/conf/machine/fic-gta01.conf b/conf/machine/fic-gta01.conf
index f6b35d721b..5450c1ebd3 100644
--- a/conf/machine/fic-gta01.conf
+++ b/conf/machine/fic-gta01.conf
@@ -11,25 +11,26 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-gta01"
MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost"
-MACHINE_EXTRA_RDEPENDS = ""
+MACHINE_EXTRA_RDEPENDS = "alsa-state"
# package gta01 specific modules
MACHINE_EXTRA_RRECOMMENDS = "\
kernel-module-gta01-pm-bt \
kernel-module-gta01-pm-gps \
kernel-module-gta01-pm-gsm \
- kernel-module-gta01kbd "
+ kernel-module-gta01kbd \
+ alsa-state"
MACHINE_TASK_PROVIDER = "task-base"
# used by sysvinit_2
-SERIAL_CONSOLE = "115200 ttySAC0"
+#SERIAL_CONSOLE = "115200 ttySAC0"
# used by some images
ROOT_FLASH_SIZE = "60"
# extra jffs2 tweaks
-EXTRA_IMAGECMD_jffs2 = "--eraseblock=0x4000 --pad -n"
+EXTRA_IMAGECMD_jffs2 = "--eraseblock=0x4000 --pad=0x3C00000 -n"
# build tools
EXTRA_IMAGEDEPENDS += "sjf2410-linux-native"
diff --git a/conf/machine/turbostation.conf b/conf/machine/turbostation.conf
index 7184958664..7f7d24c1e9 100644
--- a/conf/machine/turbostation.conf
+++ b/conf/machine/turbostation.conf
@@ -13,14 +13,15 @@ MACHINE_FEATURES= "kernel26 usbhost"
PREFERRED_PROVIDER_virtual/kernel = "linux-turbostation"
# Do we need any kernel modules?
-OPENPROTIUM_KERNEL = ""
+OPENTURBOSTATION_KERNEL = ""
# We want udev support in the image
udevdir = "/dev"
-OPENPROTIUM_SUPPORT ?= "diffutils cpio findutils uboot-utils udev"
+TURBOSTATION_SUPPORT ?= "cpio uboot-utils udev"
BOOTSTRAP_EXTRA_RDEPENDS = "udev mdadm"
-ROOT_FLASH_SIZE = 12
-# Hardware stuff
+# Hardware stuff used in image generation
ERASEBLOCK_SIZE = "0x20000"
+JFFS2_ROOTFS_SIZE = "0xC80000"
+KERNEL_IMAGE_SIZE = "0x280000"
require conf/machine/include/tune-ppc603e.conf
diff --git a/packages/alsa/alsa-state.bb b/packages/alsa/alsa-state.bb
new file mode 100644
index 0000000000..53c69c5c69
--- /dev/null
+++ b/packages/alsa/alsa-state.bb
@@ -0,0 +1,50 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel@hentges.net> (c) 2007
+# License: MIT (see http://www.opensource.org/licenses/mit-license.php
+# for a copy of the license)
+#
+# Filename: alsa-state.bb
+# Date: 20070308 (YMD)
+
+DESCRIPTION = "Default ALSA configuration"
+MAINTAINER = "Matthias 'CoreDump' Hentges <oe@hentges.net>"
+HOMEPAGE = "<homepage>"
+LICENSE = "GPL"
+
+######################################################################################
+
+PV = "0.0.2"
+PR = "r0"
+
+######################################################################################
+
+SRC_URI = "file://asound.state \
+ file://alsa-state"
+
+FILES_${PN} = "/etc/*"
+
+######################################################################################
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "alsa-state"
+INITSCRIPT_PARAMS = "defaults 10"
+
+######################################################################################
+
+do_install() {
+ install -d ${D}${sysconfdir}/init.d
+
+ install -m 0644 ${WORKDIR}/asound.state ${D}${sysconfdir}
+ install -m 0755 ${WORKDIR}/alsa-state ${D}${sysconfdir}/init.d
+}
+
+
+pkg_postinst_${PN}() {
+ if test -x /usr/sbin/alsactl
+ then
+ /usr/sbin/alsactl -f ${sysconfdir}/asound.state restore
+ fi
+}
+
diff --git a/packages/asterisk/asterisk-1.0.9/.mtn2git_empty b/packages/alsa/alsa-state/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/asterisk/asterisk-1.0.9/.mtn2git_empty
+++ b/packages/alsa/alsa-state/.mtn2git_empty
diff --git a/packages/alsa/alsa-state/alsa-state b/packages/alsa/alsa-state/alsa-state
new file mode 100755
index 0000000000..c6bc1fd494
--- /dev/null
+++ b/packages/alsa/alsa-state/alsa-state
@@ -0,0 +1,29 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel@hentges.net> (c) 2007
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+#
+# Filename: alsa-state
+# Date: 20070308 (YMD)
+
+
+asound_restore(){
+ echo "ALSA: Restoring mixer settings..."
+ if test -x /usr/sbin/alsactl -a -e /etc/asound.state
+ then
+ /usr/sbin/alsactl -f /etc/asound.state restore
+ fi
+}
+
+asound_store(){
+ echo "ALSA: Storing mixer settings..."
+ if test -x /usr/sbin/alsactl
+ then
+ /usr/sbin/alsactl -f /etc/asound.state store
+ fi
+}
+
+case "$1" in
+start) asound_restore ;;
+stop) asound_store ;;
+esac
diff --git a/packages/alsa/alsa-state/asound.state b/packages/alsa/alsa-state/asound.state
new file mode 100644
index 0000000000..88b0d02657
--- /dev/null
+++ b/packages/alsa/alsa-state/asound.state
@@ -0,0 +1 @@
+# Dummy file, do not delete \ No newline at end of file
diff --git a/packages/asterisk/asterisk-1.2.12.1/.mtn2git_empty b/packages/alsa/alsa-state/fic-gta01/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/asterisk/asterisk-1.2.12.1/.mtn2git_empty
+++ b/packages/alsa/alsa-state/fic-gta01/.mtn2git_empty
diff --git a/packages/alsa/alsa-state/fic-gta01/asound.state b/packages/alsa/alsa-state/fic-gta01/asound.state
new file mode 100644
index 0000000000..903bc9d89a
--- /dev/null
+++ b/packages/alsa/alsa-state/fic-gta01/asound.state
@@ -0,0 +1,900 @@
+state.neo1973 {
+ control.1 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'PCM Volume'
+ value.0 255
+ value.1 255
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'ADC Capture Volume'
+ value.0 195
+ value.1 195
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 127
+ value.1 127
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Mono Playback Volume'
+ value 121
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bypass Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.10 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.11 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Bypass Playback Volume'
+ value 2
+ }
+ control.12 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Sidetone Playback Volume'
+ value 2
+ }
+ control.13 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Voice Playback Volume'
+ value 2
+ }
+ control.14 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Playback ZC Switch'
+ value false
+ }
+ control.15 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Linear Control'
+ comment.item.1 'Adaptive Boost'
+ iface MIXER
+ name 'Bass Boost'
+ value 'Linear Control'
+ }
+ control.16 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '130Hz @ 48kHz'
+ comment.item.1 '200Hz @ 48kHz'
+ comment.item.2 '100Hz @ 16kHz'
+ comment.item.3 '400Hz @ 48kHz'
+ comment.item.4 '100Hz @ 8kHz'
+ comment.item.5 '200Hz @ 8kHz'
+ iface MIXER
+ name 'Bass Filter'
+ value '130Hz @ 48kHz'
+ }
+ control.17 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'Bass Volume'
+ value 0
+ }
+ control.18 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'Treble Volume'
+ value 7
+ }
+ control.19 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '8kHz'
+ comment.item.1 '4kHz'
+ iface MIXER
+ name 'Treble Cut-off'
+ value '8kHz'
+ }
+ control.20 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Capture Volume'
+ value.0 2
+ value.1 2
+ }
+ control.21 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Sidetone Capture Volume'
+ value 2
+ }
+ control.22 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ iface MIXER
+ name 'Capture Volume'
+ value.0 23
+ value.1 23
+ }
+ control.23 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.24 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture Switch'
+ value.0 false
+ value.1 false
+ }
+ control.25 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '3.4Hz @ 48kHz'
+ comment.item.1 '82Hz @ 16k'
+ comment.item.2 '82Hz @ 8kHz'
+ comment.item.3 '170Hz @ 8kHz'
+ iface MIXER
+ name 'Capture Filter Select'
+ value '3.4Hz @ 48kHz'
+ }
+ control.26 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 HiFi
+ comment.item.1 Voice
+ iface MIXER
+ name 'Capture Filter Cut-off'
+ value HiFi
+ }
+ control.27 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture Filter Switch'
+ value true
+ }
+ control.28 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Target Volume'
+ value 3
+ }
+ control.29 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Max Volume'
+ value 7
+ }
+ control.30 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 Right
+ comment.item.2 Left
+ comment.item.3 Stereo
+ iface MIXER
+ name 'ALC Capture Function'
+ value Off
+ }
+ control.31 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture ZC Switch'
+ value false
+ }
+ control.32 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Hold Time'
+ value 15
+ }
+ control.33 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Decay Time'
+ value 12
+ }
+ control.34 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Attack Time'
+ value 2
+ }
+ control.35 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'ALC Capture NG Threshold'
+ value 0
+ }
+ control.36 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Constant PGA Gain'
+ comment.item.1 'Mute ADC Output'
+ iface MIXER
+ name 'ALC Capture NG Type'
+ value 'Constant PGA Gain'
+ }
+ control.37 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture NG Switch'
+ value false
+ }
+ control.38 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Capture
+ comment.item.1 Playback
+ iface MIXER
+ name '3D Function'
+ value Capture
+ }
+ control.39 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '2.2kHz'
+ comment.item.1 '1.5kHz'
+ iface MIXER
+ name '3D Upper Cut-off'
+ value '2.2kHz'
+ }
+ control.40 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '200Hz'
+ comment.item.1 '500Hz'
+ iface MIXER
+ name '3D Lower Cut-off'
+ value '200Hz'
+ }
+ control.41 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name '3D Volume'
+ value 0
+ }
+ control.42 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name '3D Switch'
+ value false
+ }
+ control.43 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture 6dB Attenuate'
+ value false
+ }
+ control.44 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback 6dB Attenuate'
+ value false
+ }
+ control.45 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 None
+ comment.item.1 '32kHz'
+ comment.item.2 '44.1kHz'
+ comment.item.3 '48kHz'
+ iface MIXER
+ name De-emphasis
+ value None
+ }
+ control.46 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 Mono
+ iface MIXER
+ name 'Playback Mono Mix'
+ value Stereo
+ }
+ control.47 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Non Inverted'
+ comment.item.1 Inverted
+ iface MIXER
+ name 'Playback Phase'
+ value 'Non Inverted'
+ }
+ control.48 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic2 Capture Volume'
+ value 0
+ }
+ control.49 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic1 Capture Volume'
+ value 0
+ }
+ control.50 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'DAI 0'
+ comment.item.1 'DAI 1'
+ comment.item.2 'DAI 2'
+ comment.item.3 'DAI 3'
+ iface MIXER
+ name 'DAI Mode'
+ value 'DAI 0'
+ }
+ control.51 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Left ADC'
+ comment.item.2 'Right ADC'
+ comment.item.3 'Channel Swap'
+ iface MIXER
+ name 'ADC Data Select'
+ value Stereo
+ }
+ control.52 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Mic 1'
+ comment.item.1 'Mic 2'
+ comment.item.2 'Mic 3'
+ iface MIXER
+ name 'Mic Selection Mux'
+ value 'Mic 1'
+ }
+ control.53 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'RXP - RXN'
+ comment.item.1 'RXP + RXN'
+ comment.item.2 RXP
+ comment.item.3 RXN
+ iface MIXER
+ name 'Rx Mixer'
+ value 'RXP - RXN'
+ }
+ control.54 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1 + 2'
+ comment.item.1 'Line 1 - 2'
+ comment.item.2 'Line 1'
+ comment.item.3 'Line 2'
+ iface MIXER
+ name 'Line Mixer'
+ value 'Line 1 + 2'
+ }
+ control.55 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line Mix'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Mono Mux'
+ value 'Line Mix'
+ }
+ control.56 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 2'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Right Mux'
+ value 'Line 2'
+ }
+ control.57 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Left Mux'
+ value 'Line 1'
+ }
+ control.58 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Line Capture Switch'
+ value false
+ }
+ control.59 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic2 Capture Switch'
+ value false
+ }
+ control.60 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic1 Capture Switch'
+ value false
+ }
+ control.61 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Rx Capture Switch'
+ value false
+ }
+ control.62 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Left PGA'
+ comment.item.1 'Mic 1'
+ comment.item.2 'Mic 2'
+ comment.item.3 'Right PGA'
+ iface MIXER
+ name 'Mic Sidetone Mux'
+ value 'Left PGA'
+ }
+ control.63 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Sidetone
+ iface MIXER
+ name 'Capture Right Mux'
+ value PGA
+ }
+ control.64 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Line
+ iface MIXER
+ name 'Capture Left Mux'
+ value PGA
+ }
+ control.65 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Right Mixer'
+ value Stereo
+ }
+ control.66 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Left Mixer'
+ value Stereo
+ }
+ control.67 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Voice Capture Sw'
+ value false
+ }
+ control.68 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Left Capture Swi'
+ value false
+ }
+ control.69 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Right Capture Sw'
+ value false
+ }
+ control.70 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 'Capture ST'
+ comment.item.2 LOUT2
+ iface MIXER
+ name 'Out4 Mux'
+ value VREF
+ }
+ control.71 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 ROUT2
+ comment.item.2 'Left + Right'
+ iface MIXER
+ name 'Out3 Mux'
+ value VREF
+ }
+ control.72 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Inverted Mono 1'
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 'Left + Right'
+ iface MIXER
+ name 'Mono 2 Mux'
+ value 'Inverted Mono 1'
+ }
+ control.73 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Left Playback Switch'
+ value false
+ }
+ control.74 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Right Playback Switc'
+ value false
+ }
+ control.75 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Voice Playback Switc'
+ value false
+ }
+ control.76 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.77 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Bypass Playback Swit'
+ value false
+ }
+ control.78 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Voice Playback Swit'
+ value false
+ }
+ control.79 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Sidetone Playback S'
+ value false
+ }
+ control.80 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Right Playback Swit'
+ value true
+ }
+ control.81 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Bypass Playback Swi'
+ value false
+ }
+ control.82 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Voice Playback Switc'
+ value false
+ }
+ control.83 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.84 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Left Playback Switch'
+ value true
+ }
+ control.85 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Bypass Playback Swit'
+ value false
+ }
+ control.86 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Left Playback Volume'
+ value 19
+ }
+ control.87 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Right Playback Volume'
+ value 19
+ }
+ control.88 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Mono Playback Volume'
+ value 0
+ }
+ control.89 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'Call Speaker'
+ comment.item.2 'Stereo Speakers'
+ comment.item.3 'Stereo Speakers + Headphones'
+ comment.item.4 Headphones
+ iface MIXER
+ name 'Amp Mode'
+ value 'Stereo Speakers + Headphones'
+ }
+ control.90 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'GSM Handset'
+ comment.item.2 'GSM Headset'
+ comment.item.3 'GSM Bluetooth'
+ comment.item.4 Speakers
+ comment.item.5 Headphones
+ comment.item.6 'Capture Handset'
+ comment.item.7 'Capture Headset'
+ comment.item.8 'Capture Bluetooth'
+ iface MIXER
+ name 'Neo Mode'
+ value Headphones
+ }
+ control.91 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Spk 3D Playback Switch'
+ value true
+ }
+ control.92 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp HP 3d Playback Switch'
+ value false
+ }
+ control.93 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Fast Wakeup Playback Switch'
+ value false
+ }
+ control.94 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Earpiece 6dB Playback Switch'
+ value false
+ }
+}
diff --git a/packages/asterisk/asterisk-1.0.9/gsm.patch b/packages/asterisk/asterisk-1.0.9/gsm.patch
deleted file mode 100644
index c59aa80bba..0000000000
--- a/packages/asterisk/asterisk-1.0.9/gsm.patch
+++ /dev/null
@@ -1,71 +0,0 @@
---- asterisk-1.0.9.org/codecs/gsm/Makefile 2005-06-21 16:27:28.000000000 +0200
-+++ asterisk-1.0.9/codecs/gsm/Makefile 2005-08-14 21:47:10.000000000 +0200
-@@ -37,26 +37,6 @@
- ######### ppro's, etc, as well as the AMD K6 and K7. The compile will
- ######### probably require gcc.
-
--ifneq (${OSARCH},Darwin)
--ifneq (${PROC},x86_64)
--ifneq (${PROC},ultrasparc)
--ifneq ($(shell uname -m),ppc)
--ifneq ($(shell uname -m),alpha)
--ifneq ($(shell uname -m),armv4l)
--ifneq (${PROC},sparc64)
--ifneq (${PROC},ppc)
--ifneq (${PROC},ppc64)
--OPTIMIZE+=-march=$(PROC)
--endif
--endif
--endif
--endif
--endif
--endif
--endif
--endif
--endif
--
- #The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only.
- #This works for even old (2.96) versions of gcc and provides a small boost either way.
- #A ultrasparc cpu is really v9 but the stock debian stable 3.0 gcc doesn't support it.
-@@ -218,19 +198,6 @@
- $(SRC)/gsm_option.c \
- $(SRC)/short_term.c \
- $(SRC)/table.c
--ifeq (${OSARCH},Linux)
--ifneq ($(shell uname -m),x86_64)
--ifneq ($(shell uname -m),ppc)
--ifneq ($(shell uname -m),alpha)
--ifneq ($(shell uname -m),armv4l)
--ifneq ($(shell uname -m),sparc64)
--GSM_SOURCES+= $(SRC)/k6opt.s
--endif
--endif
--endif
--endif
--endif
--endif
-
- TOAST_SOURCES = $(SRC)/toast.c \
- $(SRC)/toast_lin.c \
-@@ -276,20 +243,6 @@
- $(SRC)/short_term.o \
- $(SRC)/table.o
-
--ifeq (${OSARCH},Linux)
--ifneq ($(shell uname -m), x86_64)
--ifneq ($(shell uname -m), ppc)
--ifneq ($(shell uname -m), alpha)
--ifneq ($(shell uname -m), armv4l)
--ifneq ($(shell uname -m), sparc64)
--GSM_OBJECTS+= $(SRC)/k6opt.o
--endif
--endif
--endif
--endif
--endif
--endif
--
- TOAST_OBJECTS = $(SRC)/toast.o \
- $(SRC)/toast_lin.o \
- $(SRC)/toast_ulaw.o \
-
diff --git a/packages/asterisk/asterisk-1.0.9/makefile.patch b/packages/asterisk/asterisk-1.0.9/makefile.patch
deleted file mode 100644
index 6684d8696e..0000000000
--- a/packages/asterisk/asterisk-1.0.9/makefile.patch
+++ /dev/null
@@ -1,311 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- asterisk-1.0.7/Makefile~makefile.patch
-+++ asterisk-1.0.7/Makefile
-@@ -127,64 +127,67 @@
- AGI_DIR=$(ASTVARLIBDIR)/agi-bin
-
- INCLUDE=-Iinclude -I../include
--CFLAGS=-pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(DEBUG) $(INCLUDE) -D_REENTRANT -D_GNU_SOURCE #-DMAKE_VALGRIND_HAPPY
--CFLAGS+=$(OPTIMIZE)
-+my_CFLAGS=-pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(DEBUG) $(INCLUDE) -D_REENTRANT -D_GNU_SOURCE #-DMAKE_VALGRIND_HAPPY
-+my_CFLAGS+=$(OPTIMIZE)
-
- ifneq ($(PROC),ultrasparc)
--CFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
-+my_CFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
- endif
-
--CFLAGS+=$(shell if uname -m | grep -q ppc; then echo "-fsigned-char"; fi)
--CFLAGS+=$(shell if [ -f /usr/include/osp/osp.h ]; then echo "-DOSP_SUPPORT -I/usr/include/osp" ; fi)
-+my_CFLAGS+=$(shell if uname -m | grep -q ppc; then echo "-fsigned-char"; fi)
-+my_CFLAGS+=$(shell if [ -f /usr/include/osp/osp.h ]; then echo "-DOSP_SUPPORT -I/usr/include/osp" ; fi)
-
- ifeq (${OSARCH},FreeBSD)
- OSVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
--CFLAGS+=$(shell if test ${OSVERSION} -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)
-+my_CFLAGS+=$(shell if test ${OSVERSION} -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)
- LIBS+=$(shell if test ${OSVERSION} -lt 502102 ; then echo "-lc_r"; else echo "-pthread"; fi)
- INCLUDE+=-I/usr/local/include
--CFLAGS+=$(shell if [ -d /usr/local/include/spandsp ]; then echo "-I/usr/local/include/spandsp"; fi)
-+my_CFLAGS+=$(shell if [ -d /usr/local/include/spandsp ]; then echo "-I/usr/local/include/spandsp"; fi)
- MPG123TARG=freebsd
- endif # FreeBSD
-
- ifeq (${OSARCH},NetBSD)
--CFLAGS+=-pthread
-+my_CFLAGS+=-pthread
- INCLUDE+=-I/usr/local/include -I/usr/pkg/include
- MPG123TARG=netbsd
- endif
-
- ifeq (${OSARCH},OpenBSD)
--CFLAGS+=-pthread
-+my_CFLAGS+=-pthread
- endif
-
- #Uncomment this to use the older DSP routines
- #CFLAGS+=-DOLD_DSP_ROUTINES
-
--CFLAGS+=$(shell if [ -f /usr/include/linux/zaptel.h ]; then echo "-DZAPTEL_OPTIMIZATIONS"; fi)
--CFLAGS+=$(shell if [ -f /usr/local/include/zaptel.h ]; then echo "-DZAPTEL_OPTIMIZATIONS"; fi)
-+my_CFLAGS+=$(shell if [ -f /usr/include/linux/zaptel.h ]; then echo "-DZAPTEL_OPTIMIZATIONS"; fi)
-+my_CFLAGS+=$(shell if [ -f /usr/local/include/zaptel.h ]; then echo "-DZAPTEL_OPTIMIZATIONS"; fi)
-
- LIBEDIT=editline/libedit.a
-
- ASTERISKVERSION=$(shell if [ -f .version ]; then cat .version; else if [ -d CVS ]; then if [ -f CVS/Tag ] ; then echo "CVS-`sed 's/^T//g' CVS/Tag`-`date +"%D-%T"`"; else echo "CVS-HEAD-`date +"%D-%T"`"; fi; fi; fi)
- HTTPDIR=$(shell if [ -d /var/www ]; then echo "/var/www"; else echo "/home/httpd"; fi)
- RPMVERSION=$(shell if [ -f .version ]; then sed 's/[-\/:]/_/g' .version; else echo "unknown" ; fi)
--CFLAGS+=-DASTERISK_VERSION=\"$(ASTERISKVERSION)\"
--CFLAGS+=-DINSTALL_PREFIX=\"$(INSTALL_PREFIX)\"
--CFLAGS+=-DASTETCDIR=\"$(ASTETCDIR)\"
--CFLAGS+=-DASTLIBDIR=\"$(ASTLIBDIR)\"
--CFLAGS+=-DASTVARLIBDIR=\"$(ASTVARLIBDIR)\"
--CFLAGS+=-DASTVARRUNDIR=\"$(ASTVARRUNDIR)\"
--CFLAGS+=-DASTSPOOLDIR=\"$(ASTSPOOLDIR)\"
--CFLAGS+=-DASTLOGDIR=\"$(ASTLOGDIR)\"
--CFLAGS+=-DASTCONFPATH=\"$(ASTCONFPATH)\"
--CFLAGS+=-DASTMODDIR=\"$(MODULES_DIR)\"
--CFLAGS+=-DASTAGIDIR=\"$(AGI_DIR)\"
-+my_CFLAGS+=-DASTERISK_VERSION=\"$(ASTERISKVERSION)\"
-+my_CFLAGS+=-DINSTALL_PREFIX=\"$(INSTALL_PREFIX)\"
-+my_CFLAGS+=-DASTETCDIR=\"$(ASTETCDIR)\"
-+my_CFLAGS+=-DASTLIBDIR=\"$(ASTLIBDIR)\"
-+my_CFLAGS+=-DASTVARLIBDIR=\"$(ASTVARLIBDIR)\"
-+my_CFLAGS+=-DASTVARRUNDIR=\"$(ASTVARRUNDIR)\"
-+my_CFLAGS+=-DASTSPOOLDIR=\"$(ASTSPOOLDIR)\"
-+my_CFLAGS+=-DASTLOGDIR=\"$(ASTLOGDIR)\"
-+my_CFLAGS+=-DASTCONFPATH=\"$(ASTCONFPATH)\"
-+my_CFLAGS+=-DASTMODDIR=\"$(MODULES_DIR)\"
-+my_CFLAGS+=-DASTAGIDIR=\"$(AGI_DIR)\"
-+
-+my_CFLAGS+= $(DEBUG_THREADS)
-+my_CFLAGS+= $(TRACE_FRAMES)
-+my_CFLAGS+= $(MALLOC_DEBUG)
-+my_CFLAGS+= $(BUSYDETECT)
-+my_CFLAGS+= $(OPTIONS)
-+my_CFLAGS+=# -fomit-frame-pointer
-+
-+override CFLAGS += $(my_CFLAGS)
-
--CFLAGS+= $(DEBUG_THREADS)
--CFLAGS+= $(TRACE_FRAMES)
--CFLAGS+= $(MALLOC_DEBUG)
--CFLAGS+= $(BUSYDETECT)
--CFLAGS+= $(OPTIONS)
--CFLAGS+=# -fomit-frame-pointer
- SUBDIRS=res channels pbx apps codecs formats agi cdr astman stdtime
- ifeq (${OSARCH},Linux)
- LIBS=-ldl -lpthread
-@@ -296,7 +299,7 @@
- fi
-
- asterisk: editline/libedit.a db1-ast/libdb1.a stdtime/libtime.a $(OBJS)
-- $(CC) $(DEBUG) -o asterisk $(ASTLINK) $(OBJS) $(LIBEDIT) db1-ast/libdb1.a stdtime/libtime.a $(LIBS)
-+ $(CC) $(DEBUG) -o asterisk $(ASTLINK) $(OBJS) $(LIBEDIT) db1-ast/libdb1.a stdtime/libtime.a $(LDFLAGS) $(LIBS)
-
- muted: muted.o
- $(CC) -o muted muted.o
---- asterisk-1.0.7/res/Makefile~makefile.patch
-+++ asterisk-1.0.7/res/Makefile
-@@ -13,15 +13,13 @@
-
- MODS=res_adsi.so res_features.so res_crypto.so res_musiconhold.so res_indications.so res_monitor.so \
- res_agi.so
--MODS+=$(shell if [ -f "/usr/include/odbcinst.h" ]; then echo "res_odbc.so res_config_odbc.so"; fi)
--MODS+=$(shell if [ -f "/usr/local/include/odbcinst.h" ]; then echo "res_odbc.so res_config_odbc.so"; fi)
--MODS+=$(shell if [ -f "/usr/include/osp/osp.h" ]; then echo "res_osp.so"; fi)
-+MODS+=$(shell if [ -f "${STAGING_INCDIR}/odbcinst.h" ]; then echo "res_odbc.so res_config_odbc.so"; fi)
-+MODS+=$(shell if [ -f "${STAGING_INCDIR}/osp/osp.h" ]; then echo "res_osp.so"; fi)
-
- CRYPTO_LIBS=-lssl -lcrypto
-
- CFLAGS+=
--CFLAGS+=$(shell [ -f /usr/include/linux/zaptel.h ] && echo " -DZAPATA_MOH")
--CFLAGS+=$(shell [ -f /usr/local/include/zaptel.h ] && echo " -DZAPATA_MOH")
-+CFLAGS+=$(shell [ -f ${STAGING_INCDIR}/linux/zaptel.h ] && echo " -DZAPATA_MOH")
- #
- # Work around buggy RedHat 9.0
- #
-@@ -37,7 +35,7 @@
- for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
-
- res_crypto.so: res_crypto.o
-- $(CC) $(SOLINK) -o $@ $< $(CRYPTO_LIBS)
-+ $(CC) $(SOLINK) -o $@ $< $(LDFLAGS) $(CRYPTO_LIBS)
-
- clean:
- rm -f *.so *.o .depend
---- asterisk-1.0.7/channels/Makefile~makefile.patch
-+++ asterisk-1.0.7/channels/Makefile
-@@ -71,22 +71,20 @@
- CHANNEL_LIBS+=chan_oss.so
- endif
-
--CHANNEL_LIBS+=$(shell [ -f /usr/include/linux/ixjuser.h ] && echo chan_phone.so)
--CHANNEL_LIBS+=$(shell [ -f /usr/local/include/ixjuser.h ] && echo chan_phone.so)
-+CHANNEL_LIBS+=$(shell [ -f ${STAGING_INCDIR}/linux/ixjuser.h ] && echo chan_phone.so)
- CHANNEL_LIBS+=$(shell [ -f h323/libchanh323.a ] && echo chan_h323.so)
-
- CFLAGS+=-Wno-missing-prototypes -Wno-missing-declarations
--CFLAGS+=$(shell [ ! -f /usr/include/linux/if_wanpipe.h ] && echo " -DOLD_SANGOMA_API")
--CHANNEL_LIBS+=$(shell [ -f /usr/include/alsa/asoundlib.h ] && echo "chan_alsa.so")
--CFLAGS+=$(shell [ -f /usr/lib/libpri.so.1 ] && echo " -DZAPATA_PRI")
--CFLAGS+=$(shell [ -f /usr/lib/libmfcr2.so.1 ] && echo " -DZAPATA_R2")
-+CFLAGS+=$(shell [ ! -f ${STAGING_INCDIR}/linux/if_wanpipe.h ] && echo " -DOLD_SANGOMA_API")
-+CHANNEL_LIBS+=$(shell [ -f ${STAGING_INCDIR}/alsa/asoundlib.h ] && echo "chan_alsa.so")
-+CFLAGS+=$(shell [ -f ${STAGING_LIBDIR}/libpri.so.1 ] && echo " -DZAPATA_PRI")
-+CFLAGS+=$(shell [ -f ${STAGING_LIBDIR}/libmfcr2.so.1 ] && echo " -DZAPATA_R2")
- CFLAGS+=$(shell [ -f alsa-monitor.h ] && echo " -DALSA_MONITOR")
--ZAPPRI=$(shell [ -f /usr/lib/libpri.so.1 ] && echo "-lpri")
--ZAPR2=$(shell [ -f /usr/lib/libmfcr2.so.1 ] && echo "-lmfcr2")
--CFLAGS+=$(shell [ -f /usr/include/linux/zaptel.h ] && echo "-DIAX_TRUNKING")
--CFLAGS+=$(shell [ -f /usr/local/include/zaptel.h ] && echo "-DIAX_TRUNKING")
--CHANNEL_LIBS+=$(shell [ -f /usr/include/vpbapi.h ] && echo "chan_vpb.so" )
--CFLAGS+=$(shell [ -f /usr/include/vpbapi.h ] && echo " -DLINUX")
-+ZAPPRI=$(shell [ -f ${STAGING_LIBDIR}/libpri.so.1 ] && echo "-lpri")
-+ZAPR2=$(shell [ -f ${STAGING_LIBDIR}/libmfcr2.so.1 ] && echo "-lmfcr2")
-+CFLAGS+=$(shell [ -f ${STAGING_INCDIR}/linux/zaptel.h ] && echo "-DIAX_TRUNKING")
-+CHANNEL_LIBS+=$(shell [ -f ${STAGING_INCDIR}/vpbapi.h ] && echo "chan_vpb.so" )
-+CFLAGS+=$(shell [ -f ${STAGING_INCDIR}/vpbapi.h ] && echo " -DLINUX")
-
- ALSA_SRC=chan_alsa.c
- ALSA_SRC+=$(shell [ -f alsa-monitor.h ] && echo "alsa-monitor.h")
-@@ -106,10 +104,9 @@
-
- ZAPDIR=/usr/lib
-
--CHANNEL_LIBS+=$(shell [ -f /usr/include/linux/zaptel.h ] && echo "chan_zap.so")
--CHANNEL_LIBS+=$(shell [ -f /usr/local/include/zaptel.h ] && echo "chan_zap.so")
-+CHANNEL_LIBS+=$(shell [ -f ${STAGING_INCDIR}/linux/zaptel.h ] && echo "chan_zap.so")
-
--CHANNEL_LIBS+=$(shell [ -f /usr/include/nbs.h ] && echo "chan_nbs.so" )
-+CHANNEL_LIBS+=$(shell [ -f ${STAGING_INCDIR}/nbs.h ] && echo "chan_nbs.so" )
-
- ifndef OPENH323DIR
- OPENH323DIR=$(HOME)/openh323
-@@ -135,10 +132,10 @@
- endif
-
- gentone: gentone.c
-- $(CC) -o gentone gentone.c -lm
-+ $(BUILD_CC) -o gentone gentone.c -lm
-
- gentone-ulaw: gentone-ulaw.c
-- $(CC) -o gentone-ulaw gentone-ulaw.c -lm
-+ $(BUILD_CC) -o gentone-ulaw gentone-ulaw.c -lm
-
- busy.h: gentone
- ./gentone busy 480 620
---- asterisk-1.0.7/pbx/Makefile~makefile.patch
-+++ asterisk-1.0.7/pbx/Makefile
-@@ -16,7 +16,7 @@
- PBX_LIBS=pbx_config.so pbx_wilcalu.so pbx_spool.so # pbx_gtkconsole.so pbx_kdeconsole.so
-
- # Add GTK console if appropriate
--PBX_LIBS+=$(shell gtk-config --cflags >/dev/null 2>/dev/null && echo "pbx_gtkconsole.so")
-+PBX_LIBS+=$(shell ${STAGING_BINDIR_CROSS}/gtk-config --cflags >/dev/null 2>/dev/null && echo "pbx_gtkconsole.so")
- # Add KDE Console if appropriate
- #PBX_LIBS+=$(shell [ "$$QTDIR" != "" ] && echo "pbx_kdeconsole.so")
-
---- asterisk-1.0.7/codecs/lpc10/Makefile~makefile.patch
-+++ asterisk-1.0.7/codecs/lpc10/Makefile
-@@ -25,28 +25,6 @@
- CFLAGS += $(OPTIMIZE) -I$(LIB_TARGET_DIR) $(WARNINGS) -fPIC
- #CFLAGS+= $(shell if uname -m | grep -q 86; then echo "-mpentium" ; fi)
-
--#fix for PPC processors and ALPHA, And UltraSparc too
--ifneq ($(OSARCH),Darwin)
--ifneq ($(findstring BSD,${OSARCH}),BSD)
--ifneq ($(PROC),ppc)
--ifneq ($(PROC),x86_64)
--ifneq ($(PROC),alpha)
--#The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only.
--#This works for even old (2.96) versions of gcc and provides a small boost either way.
--#A ultrasparc cpu is really v9 but the stock debian stable 3.0 gcc doesn.t support it.
--#So we go lowest common available by gcc and go a step down, still a step up from
--#the default as we now have a better instruction set to work with. - Belgarath
--ifeq ($(PROC),ultrasparc)
-- CFLAGS+= -mtune=$(PROC) -mcpu=v8 -O3 -fomit-frame-pointer
--else
-- CFLAGS+= -march=$(PROC)
--endif
--endif
--endif
--endif
--endif
--endif
--
- LIB = $(LIB_TARGET_DIR)/liblpc10.a
-
- .PHONY: all clean
---- asterisk-1.0.7/cdr/Makefile~makefile.patch
-+++ asterisk-1.0.7/cdr/Makefile
-@@ -37,36 +37,25 @@
- #
- # unixODBC stuff...
- #
--MODS+=$(shell if [ -f "/usr/include/odbcinst.h" ]; then echo "cdr_odbc.so"; fi)
--MODS+=$(shell if [ -f "/usr/local/include/odbcinst.h" ]; then echo "cdr_odbc.so"; fi)
-+MODS+=$(shell if [ -f "${STAGING_INCDIR}/odbcinst.h" ]; then echo "cdr_odbc.so"; fi)
-
- #
- # FreeTDS stuff...
- #
--MODS+=$(shell if [ -f "/usr/include/tds.h" ]; then echo "cdr_tds.so"; fi)
--MODS+=$(shell if [ -f "/usr/local/include/tds.h" ]; then echo "cdr_tds.so"; fi)
-+MODS+=$(shell if [ -f "${STAGING_INCDIR}/tds.h" ]; then echo "cdr_tds.so"; fi)
-
- #
- # PGSQL stuff... Autoconf anyone??
- #
--MODS+=$(shell if [ -d /usr/local/pgsql/include ] || [ -d /usr/include/pgsql ] || [ -d /usr/local/include/pgsql ] || [ -d /opt/pgsql/include ] || [ -f /usr/include/libpq-fe.h ] ; then echo "cdr_pgsql.so"; fi)
--CFLAGS+=$(shell if [ -d /usr/local/pgsql/include ]; then echo "-I/usr/local/pgsql/include"; fi)
--CFLAGS+=$(shell if [ -d /usr/include/pgsql ]; then echo "-I/usr/include/pgsql"; fi)
--CFLAGS+=$(shell if [ -d /usr/include/postgresql ]; then echo "-I/usr/include/postgresql"; fi)
--CFLAGS+=$(shell if [ -d /usr/local/include/pgsql ]; then echo "-I/usr/local/include/pgsql"; fi)
--CFLAGS+=$(shell if [ -d /opt/pgsql/include ]; then echo "-I/opt/pgsql/include"; fi)
--#CFLAGS+=$(shell if [ -f /usr/include/libpq-fe.h ]; then echo "-I/usr/include"; fi)
-+CFLAGS+=$(shell if [ -d ${STAGING_INCDIR}/pgsql ]; then echo "-I${STAGING_INCDIR}/pgsql"; fi)
-+CFLAGS+=$(shell if [ -d ${STAGING_INCDIR}/postgresql ]; then echo "-I${STAGING_INCDIR}/postgresql"; fi)
- MLFLAGS=
--MLFLAGS+=$(shell if [ -d /usr/lib/pgsql ]; then echo "-L/usr/lib/pgsql"; fi)
--MLFLAGS+=$(shell if [ -d /usr/local/pgsql/lib ]; then echo "-L/usr/local/pgsql/lib"; fi)
--MLFLAGS+=$(shell if [ -d /usr/local/lib/pgsql ]; then echo "-L/usr/local/lib/pgsql"; fi)
--MLFLAGS+=$(shell if [ -d /opt/pgsql/lib ]; then echo "-L/opt/pgsql/lib"; fi)
--MLFLAGS+=$(shell if [ -f /usr/lib/libpq.so ]; then echo "-L/usr/lib"; fi)
-+MLFLAGS+=$(shell if [ -d ${STAGING_LIBDIR}/pgsql ]; then echo "-L${STAGING_LIBDIR}/pgsql"; fi)
-
- #
- # SQLIte stuff...
- #
--MODS+=$(shell if [ -f "/usr/include/sqlite.h" ]; then echo "cdr_sqlite.so"; fi)
-+MODS+=$(shell if [ -f "${STAGING_INCDIR}/sqlite.h" ]; then echo "cdr_sqlite.so"; fi)
-
- all: depend $(MODS)
-
-@@ -84,16 +73,16 @@
- endif
-
- cdr_odbc.so: cdr_odbc.o
-- $(CC) $(SOLINK) -o $@ $< -lodbc $(MLFLAGS)
-+ $(CC) $(SOLINK) -o $@ $< -lodbc $(LDFLAGS) $$(MLFLAGS)
-
- cdr_tds.so: cdr_tds.o
-- $(CC) $(SOLINK) -o $@ $< -ltds $(MLFLAGS)
-+ $(CC) $(SOLINK) -o $@ $< -ltds $(LDFLAGS) $$(MLFLAGS)
-
- cdr_pgsql.so: cdr_pgsql.o
-- $(CC) $(SOLINK) -o $@ $< -lpq -lz $(MLFLAGS)
-+ $(CC) $(SOLINK) -o $@ $< -lpq -lz $(LDFLAGS) $$(MLFLAGS)
-
- cdr_sqlite.so: cdr_sqlite.o
-- $(CC) $(SOLINK) -o $@ $< -lsqlite $(MLFLAGS)
-+ $(CC) $(SOLINK) -o $@ $< -lsqlite $(LDFLAGS) $(MLFLAGS)
-
- depend: .depend
-
diff --git a/packages/asterisk/asterisk-1.2.8/.mtn2git_empty b/packages/asterisk/asterisk-1.2.16/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/asterisk/asterisk-1.2.8/.mtn2git_empty
+++ b/packages/asterisk/asterisk-1.2.16/.mtn2git_empty
diff --git a/packages/asterisk/asterisk-1.2.12.1/asterisk.patch b/packages/asterisk/asterisk-1.2.16/asterisk.patch
index 006b8e9291..006b8e9291 100644
--- a/packages/asterisk/asterisk-1.2.12.1/asterisk.patch
+++ b/packages/asterisk/asterisk-1.2.16/asterisk.patch
diff --git a/packages/asterisk/asterisk-1.2.12.1/uclibc-compat-getloadavg.patch b/packages/asterisk/asterisk-1.2.16/uclibc-compat-getloadavg.patch
index a909513b1c..a909513b1c 100644
--- a/packages/asterisk/asterisk-1.2.12.1/uclibc-compat-getloadavg.patch
+++ b/packages/asterisk/asterisk-1.2.16/uclibc-compat-getloadavg.patch
diff --git a/packages/asterisk/asterisk-1.2.12.1/uclibc-dsn.patch b/packages/asterisk/asterisk-1.2.16/uclibc-dsn.patch
index 23657bcc76..23657bcc76 100644
--- a/packages/asterisk/asterisk-1.2.12.1/uclibc-dsn.patch
+++ b/packages/asterisk/asterisk-1.2.16/uclibc-dsn.patch
diff --git a/packages/asterisk/asterisk-1.2.8/makefile.patch b/packages/asterisk/asterisk-1.2.8/makefile.patch
deleted file mode 100644
index 780868b91e..0000000000
--- a/packages/asterisk/asterisk-1.2.8/makefile.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- asterisk-1.2.8/Makefile~makefile
-+++ asterisk-1.2.8/Makefile
-@@ -16,6 +16,9 @@
- # Create OPTIONS variable
- OPTIONS=
- # If cross compiling, define these to suit
-+CROSS_COMPILE=$(CROSS_DIR)
-+CROSS_COMPILE_TARGET=$(STAGING_DIR)
-+CROSS_COMPILE_BIN=$(STAGING_BINDIR_CROSS)
- # CROSS_COMPILE=/opt/montavista/pro/devkit/arm/xscale_be/bin/xscale_be-
- # CROSS_COMPILE_BIN=/opt/montavista/pro/devkit/arm/xscale_be/bin/
- # CROSS_COMPILE_TARGET=/opt/montavista/pro/devkit/arm/xscale_be/target
-@@ -327,13 +330,13 @@
- endif
- endif
-
--ASTCFLAGS+= $(DEBUG_THREADS)
--ASTCFLAGS+= $(TRACE_FRAMES)
--ASTCFLAGS+= $(MALLOC_DEBUG)
--ASTCFLAGS+= $(BUSYDETECT)
--ASTCFLAGS+= $(OPTIONS)
-+#ASTCFLAGS+= $(DEBUG_THREADS)
-+#ASTCFLAGS+= $(TRACE_FRAMES)
-+#ASTCFLAGS+= $(MALLOC_DEBUG)
-+#ASTCFLAGS+= $(BUSYDETECT)
-+#ASTCFLAGS+= $(OPTIONS)
- ifneq ($(findstring dont-optimize,$(MAKECMDGOALS)),dont-optimize)
--ASTCFLAGS+= -fomit-frame-pointer
-+#ASTCFLAGS+= -fomit-frame-pointer
- endif
- SUBDIRS=res channels pbx apps codecs formats agi cdr funcs utils stdtime
-
-@@ -397,7 +400,7 @@
- endif
-
- ifeq ($(MAKETOPLEVEL),$(MAKELEVEL))
-- CFLAGS+=$(ASTCFLAGS)
-+override CFLAGS+=$(ASTCFLAGS)
- endif
-
- # This is used when generating the doxygen documentation
-@@ -519,7 +522,7 @@
- fi
- rm -f include/asterisk/build.h.tmp
- $(CC) -c -o buildinfo.o $(CFLAGS) buildinfo.c
-- $(CC) $(DEBUG) $(ASTOBJ) $(ASTLINK) $(OBJS) buildinfo.o $(LIBEDIT) db1-ast/libdb1.a stdtime/libtime.a $(LIBS)
-+ $(CC) $(DEBUG) $(ASTOBJ) $(ASTLINK) $(OBJS) buildinfo.o $(LIBEDIT) db1-ast/libdb1.a stdtime/libtime.a $(LDFLAGS) $(LIBS)
-
- muted: muted.o
- $(CC) $(AUDIO_LIBS) -o muted muted.o
---- asterisk-1.2.8/codecs/gsm/Makefile~makefile
-+++ asterisk-1.2.8/codecs/gsm/Makefile
-@@ -51,7 +51,7 @@
- ifneq (${PROC},ppc)
- ifneq (${PROC},ppc64)
- ifneq (${PROC},s390)
--OPTIMIZE+=-march=$(PROC)
-+#OPTIMIZE+=-march=$(PROC)
- endif
- endif
- endif
-@@ -243,7 +243,7 @@
- ifneq (${PROC},arm)
- ifneq ($(shell uname -m), parisc)
- ifneq (${PROC}, s390)
--GSM_SOURCES+= $(SRC)/k6opt.s
-+#GSM_SOURCES+= $(SRC)/k6opt.s
- endif
- endif
- endif
-@@ -309,7 +309,7 @@
- ifneq ($(shell uname -m), sparc64)
- ifneq ($(shell uname -m), armv4l)
- ifneq ($(shell uname -m), parisc)
--GSM_OBJECTS+= $(SRC)/k6opt.o
-+#GSM_OBJECTS+= $(SRC)/k6opt.o
- endif
- endif
- endif
---- asterisk-1.2.8/res/Makefile~makefile
-+++ asterisk-1.2.8/res/Makefile
-@@ -89,7 +89,7 @@
- fi
-
- res_crypto.so: res_crypto.o
-- $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} $(CRYPTO_LIBS)
-+ $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< $(LDFLAGS) ${CYGSOLIB} $(CRYPTO_LIBS)
-
- clean:
- rm -f *.so *.o .depend
---- asterisk-1.2.8/channels/Makefile~makefile
-+++ asterisk-1.2.8/channels/Makefile
-@@ -73,7 +73,7 @@
- SOLINK+=-lrt
- endif
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/linux/ixjuser.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/ixjuser.h),)
-+ifneq ($(wildcard $(STAGING_INCDIR)/linux/ixjuser.h),)
- CHANNEL_LIBS+=chan_phone.so
- endif
-
-@@ -88,16 +88,16 @@
-
- CFLAGS+=-Wno-missing-prototypes -Wno-missing-declarations
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/alsa/asoundlib.h),)
-+ifneq ($(wildcard $(STAGING_INCDIR)/alsa/asoundlib.h),)
- CHANNEL_LIBS+=chan_alsa.so
- endif
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/lib/libpri.so.1)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/lib/libpri.so.1),)
-+ifneq ($(wildcard $(STAGING_LIBDIR)/libpri.so.1),)
- CFLAGS+=-DZAPATA_PRI
- ZAPPRI=-lpri
- endif
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/lib/libmfcr2.so.1)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/lib/libmfcr2.so.1),)
-+ifneq ($(wildcard $(STAGING_LIBDIR)/libmfcr2.so.1),)
- CFLAGS+=-DZAPATA_R2
- ZAPR2=-lmfcr2
- endif
-@@ -110,7 +110,7 @@
- endif
-
- ifndef WITHOUT_ZAPTEL
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/linux/zaptel.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/zaptel.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/pkg/include/zaptel.h),)
-+ifneq ($(wildcard $(STAGING_INCDIR)/linux/zaptel.h),)
- ifeq (${OSARCH},NetBSD)
- SOLINK+=-L$(CROSS_COMPILE_TARGET)/usr/pkg/lib
- endif
-@@ -122,7 +122,7 @@
- endif
- endif # WITHOUT_ZAPTEL
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/vpbapi.h),)
-+ifneq ($(wildcard $(STAGING_INCDIR)/vpbapi.h),)
- CHANNEL_LIBS+=chan_vpb.so
- CFLAGS+=-DLINUX
- endif
-@@ -137,7 +137,7 @@
-
- ZAPDIR=/usr/lib
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/nbs.h),)
-+ifneq ($(wildcard $(STAGING_INCDIR)/nbs.h),)
- CHANNEL_LIBS+=chan_nbs.so
- endif
-
-@@ -158,7 +158,7 @@
- rm -f busy.h ringtone.h gentone gentone-ulaw
-
- %.so : %.o
-- $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} ${LIBS}
-+ $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< $(LDFLAGS) ${CYGSOLIB} ${LIBS}
-
- ifneq ($(wildcard .depend),)
- include .depend
---- asterisk-1.2.8/pbx/Makefile~makefile
-+++ asterisk-1.2.8/pbx/Makefile
-@@ -59,7 +59,7 @@
- $(CC) $(SOLINK) -o $@ $(KDE_CONSOLE_OBJS) $(KDE_LIBS)
-
- pbx_dundi.so: dundi-parser.o pbx_dundi.o
-- $(CC) $(SOLINK) -o $@ ${CYGSOLINK} pbx_dundi.o dundi-parser.o -lz ${CYGSOLIB}
-+ $(CC) $(SOLINK) -o $@ ${CYGSOLINK} pbx_dundi.o dundi-parser.o -lz ${CYGSOLIB} $(LDFLAGS)
-
- %.moc : %.h
- $(MOC) $< -o $@
---- asterisk-1.2.8/formats/Makefile~makefile
-+++ asterisk-1.2.8/formats/Makefile
-@@ -25,7 +25,7 @@
- #
- # OGG/Vorbis format
- #
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/vorbis/codec.h),)
-+ifneq ($(wildcard $(STAGING_INCDIR)/vorbis/codec.h),)
- FORMAT_LIBS+=format_ogg_vorbis.so
- endif
-
---- asterisk-1.2.8/utils/Makefile~makefile
-+++ asterisk-1.2.8/utils/Makefile
-@@ -22,11 +22,11 @@
-
- TARGET=stereorize streamplayer
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/popt.h)$(wildcard -f $(CROSS_COMPILE_TARGET)/usr/local/include/popt.h),)
-+ifneq ($(wildcard $(STAGING_INCDIR)/popt.h),)
- TARGET+=smsq
- endif
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/newt.h)$(wildcard -f $(CROSS_COMPILE_TARGET)/usr/local/include/newt.h),)
-+ifneq ($(wildcard $(STAGING_INCDIR)/newt.h),)
- TARGET+=astman
- endif
-
diff --git a/packages/asterisk/asterisk-1.2.9.1/asterisk.patch b/packages/asterisk/asterisk-1.2.9.1/asterisk.patch
deleted file mode 100644
index 9e93f9d5d7..0000000000
--- a/packages/asterisk/asterisk-1.2.9.1/asterisk.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- asterisk-1.2.9.1/./Makefile~asterisk
-+++ asterisk-1.2.9.1/./Makefile
-@@ -331,7 +331,7 @@
- ASTCFLAGS+= $(TRACE_FRAMES)
- ASTCFLAGS+= $(MALLOC_DEBUG)
- ASTCFLAGS+= $(BUSYDETECT)
--ASTCFLAGS+= $(OPTIONS)
-+#ASTCFLAGS+= $(OPTIONS)
- ifneq ($(findstring dont-optimize,$(MAKECMDGOALS)),dont-optimize)
- ASTCFLAGS+= -fomit-frame-pointer
- endif
-@@ -347,12 +347,12 @@
- netsock.o slinfactory.o ast_expr2.o ast_expr2f.o \
- cryptostub.o
-
--ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/sys/poll.h),)
-+ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/include/sys/poll.h),)
- OBJS+= poll.o
- ASTCFLAGS+=-DPOLLCOMPAT
- endif
-
--ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/dlfcn.h),)
-+ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/include/dlfcn.h),)
- OBJS+= dlfcn.o
- ASTCFLAGS+=-DDLFCNCOMPAT
- endif
-@@ -397,7 +397,7 @@
- endif
-
- ifeq ($(MAKETOPLEVEL),$(MAKELEVEL))
-- CFLAGS+=$(ASTCFLAGS)
-+override CFLAGS+=$(ASTCFLAGS)
- endif
-
- # This is used when generating the doxygen documentation
-@@ -519,7 +519,7 @@
- fi
- rm -f include/asterisk/build.h.tmp
- $(CC) -c -o buildinfo.o $(CFLAGS) buildinfo.c
-- $(CC) $(DEBUG) $(ASTOBJ) $(ASTLINK) $(OBJS) buildinfo.o $(LIBEDIT) db1-ast/libdb1.a stdtime/libtime.a $(LIBS)
-+ $(CC) $(DEBUG) $(ASTOBJ) $(ASTLINK) $(OBJS) buildinfo.o $(LIBEDIT) db1-ast/libdb1.a stdtime/libtime.a $(LDFLAGS) $(LIBS)
-
- muted: muted.o
- $(CC) $(AUDIO_LIBS) -o muted muted.o
---- asterisk-1.2.9.1/codecs/gsm/Makefile~asterisk
-+++ asterisk-1.2.9.1/codecs/gsm/Makefile
-@@ -51,7 +51,7 @@
- ifneq (${PROC},ppc)
- ifneq (${PROC},ppc64)
- ifneq (${PROC},s390)
--OPTIMIZE+=-march=$(PROC)
-+#OPTIMIZE+=-march=$(PROC)
- endif
- endif
- endif
-@@ -243,7 +243,7 @@
- ifneq (${PROC},arm)
- ifneq ($(shell uname -m), parisc)
- ifneq (${PROC}, s390)
--GSM_SOURCES+= $(SRC)/k6opt.s
-+#GSM_SOURCES+= $(SRC)/k6opt.s
- endif
- endif
- endif
-@@ -309,7 +309,7 @@
- ifneq ($(shell uname -m), sparc64)
- ifneq ($(shell uname -m), armv4l)
- ifneq ($(shell uname -m), parisc)
--GSM_OBJECTS+= $(SRC)/k6opt.o
-+#GSM_OBJECTS+= $(SRC)/k6opt.o
- endif
- endif
- endif
---- asterisk-1.2.9.1/res/Makefile~asterisk
-+++ asterisk-1.2.9.1/res/Makefile
-@@ -89,7 +89,7 @@
- fi
-
- res_crypto.so: res_crypto.o
-- $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} $(CRYPTO_LIBS)
-+ $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< $(LDFLAGS) ${CYGSOLIB} $(CRYPTO_LIBS)
-
- clean:
- rm -f *.so *.o .depend
---- asterisk-1.2.9.1/channels/Makefile~asterisk
-+++ asterisk-1.2.9.1/channels/Makefile
-@@ -73,7 +73,7 @@
- SOLINK+=-lrt
- endif
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/linux/ixjuser.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/ixjuser.h),)
-+ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/include/linux/ixjuser.h),)
- CHANNEL_LIBS+=chan_phone.so
- endif
-
-@@ -88,16 +88,16 @@
-
- CFLAGS+=-Wno-missing-prototypes -Wno-missing-declarations
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/alsa/asoundlib.h),)
-+ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/include/alsa/asoundlib.h),)
- CHANNEL_LIBS+=chan_alsa.so
- endif
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/lib/libpri.so.1)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/lib/libpri.so.1),)
-+ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/lib/libpri.so.1),)
- CFLAGS+=-DZAPATA_PRI
- ZAPPRI=-lpri
- endif
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/lib/libmfcr2.so.1)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/lib/libmfcr2.so.1),)
-+ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/lib/libmfcr2.so.1),)
- CFLAGS+=-DZAPATA_R2
- ZAPR2=-lmfcr2
- endif
-@@ -110,7 +110,7 @@
- endif
-
- ifndef WITHOUT_ZAPTEL
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/linux/zaptel.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/zaptel.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/pkg/include/zaptel.h),)
-+ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/include/linux/zaptel.h),)
- ifeq (${OSARCH},NetBSD)
- SOLINK+=-L$(CROSS_COMPILE_TARGET)/usr/pkg/lib
- endif
-@@ -122,7 +122,7 @@
- endif
- endif # WITHOUT_ZAPTEL
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/vpbapi.h),)
-+ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/include/vpbapi.h),)
- CHANNEL_LIBS+=chan_vpb.so
- CFLAGS+=-DLINUX
- endif
-@@ -137,7 +137,7 @@
-
- ZAPDIR=/usr/lib
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/nbs.h),)
-+ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/include/nbs.h),)
- CHANNEL_LIBS+=chan_nbs.so
- endif
-
-@@ -158,7 +158,7 @@
- rm -f busy.h ringtone.h gentone gentone-ulaw
-
- %.so : %.o
-- $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} ${LIBS}
-+ $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< $(LDFLAGS) ${CYGSOLIB} ${LIBS}
-
- ifneq ($(wildcard .depend),)
- include .depend
-@@ -215,7 +215,7 @@
- chan_alsa.o: $(ALSA_SRC)
-
- chan_alsa.so: chan_alsa.o
-- $(CC) $(SOLINK) -o $@ $< -lasound -lm -ldl
-+ $(CC) $(SOLINK) -o $@ $< -lasound -lm -ldl $(LDFLAGS)
-
- chan_nbs.so: chan_nbs.o
- $(CC) $(SOLINK) -o $@ $< -lnbs
---- asterisk-1.2.9.1/pbx/Makefile~asterisk
-+++ asterisk-1.2.9.1/pbx/Makefile
-@@ -59,7 +59,7 @@
- $(CC) $(SOLINK) -o $@ $(KDE_CONSOLE_OBJS) $(KDE_LIBS)
-
- pbx_dundi.so: dundi-parser.o pbx_dundi.o
-- $(CC) $(SOLINK) -o $@ ${CYGSOLINK} pbx_dundi.o dundi-parser.o -lz ${CYGSOLIB}
-+ $(CC) $(SOLINK) -o $@ ${CYGSOLINK} pbx_dundi.o dundi-parser.o -lz ${CYGSOLIB} $(LDFLAGS)
-
- %.moc : %.h
- $(MOC) $< -o $@
---- asterisk-1.2.9.1/formats/Makefile~asterisk
-+++ asterisk-1.2.9.1/formats/Makefile
-@@ -25,7 +25,7 @@
- #
- # OGG/Vorbis format
- #
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/vorbis/codec.h),)
-+ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/include/vorbis/codec.h),)
- FORMAT_LIBS+=format_ogg_vorbis.so
- endif
-
-@@ -57,7 +57,7 @@
- $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -lm
-
- format_ogg_vorbis.so : format_ogg_vorbis.o
-- $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -logg -lvorbis -lvorbisenc -lm
-+ $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -logg -lvorbis -lvorbisenc -lm $(LDFLAGS)
-
- install: all
- for x in $(FORMAT_LIBS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
---- asterisk-1.2.9.1/utils/Makefile~asterisk
-+++ asterisk-1.2.9.1/utils/Makefile
-@@ -22,11 +22,11 @@
-
- TARGET=stereorize streamplayer
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/popt.h)$(wildcard -f $(CROSS_COMPILE_TARGET)/usr/local/include/popt.h),)
-+ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/include/popt.h),)
- TARGET+=smsq
- endif
-
--ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/newt.h)$(wildcard -f $(CROSS_COMPILE_TARGET)/usr/local/include/newt.h),)
-+ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/include/newt.h),)
- TARGET+=astman
- endif
-
-@@ -64,7 +64,7 @@
- $(CC) $(CFLAGS) -o $@ $^
-
- smsq: smsq.o
-- $(CC) $(CFLAGS) -o smsq ${SOL} smsq.o -lpopt
-+ $(CC) $(CFLAGS) -o smsq ${SOL} smsq.o -lpopt $(LDFLAGS)
-
- streamplayer: streamplayer.o
- $(CC) $(CFLAGS) -o streamplayer ${SOL} streamplayer.o ${SOLLIBS}
diff --git a/packages/asterisk/asterisk-1.2.9.1/uclibc-compat-getloadavg.patch b/packages/asterisk/asterisk-1.2.9.1/uclibc-compat-getloadavg.patch
deleted file mode 100644
index a909513b1c..0000000000
--- a/packages/asterisk/asterisk-1.2.9.1/uclibc-compat-getloadavg.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ruN asterisk-1.2.0-old/include/asterisk/compat.h asterisk-1.2.0-new/include/asterisk/compat.h
---- asterisk-1.2.0-old/include/asterisk/compat.h 2005-11-08 05:13:19.000000000 +0100
-+++ asterisk-1.2.0-new/include/asterisk/compat.h 2005-12-04 05:32:31.000000000 +0100
-@@ -75,7 +75,9 @@
- #define HAVE_STRTOQ
-
- #ifdef _BSD_SOURCE
-+#ifndef __UCLIBC__
- #define HAVE_GETLOADAVG
-+#endif /* __UCLIBC__ */
- #endif
-
- #ifdef __linux__
diff --git a/packages/asterisk/asterisk-1.2.9.1/uclibc-dsn.patch b/packages/asterisk/asterisk-1.2.9.1/uclibc-dsn.patch
deleted file mode 100644
index 23657bcc76..0000000000
--- a/packages/asterisk/asterisk-1.2.9.1/uclibc-dsn.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -ruN asterisk-1.0.7-old/dns.c asterisk-1.0.7-new/dns.c
---- asterisk-1.0.7-old/dns.c 2004-06-22 22:11:15.000000000 +0200
-+++ asterisk-1.0.7-new/dns.c 2005-03-19 17:38:06.000000000 +0100
-@@ -153,7 +153,13 @@
-
- #if defined(res_ninit)
- #define HAS_RES_NINIT
--#else
-+#endif
-+
-+#ifdef __UCLIBC__
-+#undef HAS_RES_NINIT
-+#endif
-+
-+#ifndef HAS_RES_NINIT
- AST_MUTEX_DEFINE_STATIC(res_lock);
- #if 0
- #warning "Warning, res_ninit is missing... Could have reentrancy issues"
diff --git a/packages/asterisk/asterisk_1.0.9.bb b/packages/asterisk/asterisk_1.0.9.bb
deleted file mode 100644
index 5e1bf87b06..0000000000
--- a/packages/asterisk/asterisk_1.0.9.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION="The Astersisk open source software PBX"
-HOMEPAGE="www.asterisk.org"
-LICENSE="GPL"
-DEPENDS="ncurses zlib openssl"
-PR = "r2"
-
-SRC_URI="http://ftp.digium.com/pub/asterisk/releases/asterisk-${PV}.tar.gz \
- file://gsm.patch;patch=1 \
- file://makefile.patch;patch=1"
-
-
-# Doh - they use 'L'inux intead of linux
-# FIXME: Do the sed here
-
-export OSARCH="Linux"
-export PROC="${TARGET_ARCH}"
-
-# We will probably have to edit the CFLAG in teh Makefile
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} install
-}
-
-do_stage () {
- install -d ${STAGING_INCDIR}/asterisk
- install -m 0644 ${S}/include/asterisk/*.h ${STAGING_INCDIR}/asterisk/
-}
-
-
diff --git a/packages/asterisk/asterisk_1.2.12.1.bb b/packages/asterisk/asterisk_1.2.12.1.bb
deleted file mode 100644
index c0b7fc2ed9..0000000000
--- a/packages/asterisk/asterisk_1.2.12.1.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-DESCRIPTION="The Asterisk open source software PBX"
-HOMEPAGE="www.asterisk.org"
-LICENSE="GPL"
-DEPENDS="ncurses zlib openssl curl alsa-lib libogg libvorbis popt"
-PR = "r0"
-
-SRC_URI="http://ftp.digium.com/pub/asterisk/releases/asterisk-${PV}.tar.gz \
- file://uclibc-compat-getloadavg.patch;patch=1 \
- file://uclibc-dsn.patch;patch=1 \
- file://asterisk.patch;patch=1"
-
-
-export CROSS_COMPILE="${CCACHE}${HOST_PREFIX}"
-export CROSS_COMPILE_BIN="${STAGING_BINDIR_CROSS}"
-export CROSS_COMPILE_TARGET="${STAGING_DIR}/${HOST_SYS}"
-
-export CROSS_ARCH="Linux"
-
-export CROSS_PROC="${TARGET_ARCH}"
-
-export MAKECMDGOALS="dont-optimize"
-
-# We will probably have to edit the CFLAG in the Makefile
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} install
-}
-
-do_stage () {
- install -d ${STAGING_INCDIR}/asterisk
- install -m 0644 ${S}/include/asterisk/*.h ${STAGING_INCDIR}/asterisk/
-}
-
-
diff --git a/packages/asterisk/asterisk_1.2.9.1.bb b/packages/asterisk/asterisk_1.2.16.bb
index c1cedf67f6..0ec55f8e42 100644
--- a/packages/asterisk/asterisk_1.2.9.1.bb
+++ b/packages/asterisk/asterisk_1.2.16.bb
@@ -2,20 +2,22 @@ DESCRIPTION="The Asterisk open source software PBX"
HOMEPAGE="www.asterisk.org"
LICENSE="GPL"
DEPENDS="ncurses zlib openssl curl alsa-lib libogg libvorbis popt"
-PR = "r6"
+SECTION = "console/telephony"
+PR = "r4"
SRC_URI="http://ftp.digium.com/pub/asterisk/releases/asterisk-${PV}.tar.gz \
file://uclibc-compat-getloadavg.patch;patch=1 \
file://uclibc-dsn.patch;patch=1 \
file://asterisk.patch;patch=1"
+S = "${WORKDIR}/asterisk-${PV}"
+
export CROSS_COMPILE="${CCACHE}${HOST_PREFIX}"
export CROSS_COMPILE_BIN="${STAGING_BINDIR_CROSS}"
export CROSS_COMPILE_TARGET="${STAGING_DIR}/${HOST_SYS}"
export CROSS_ARCH="Linux"
-
export CROSS_PROC="${TARGET_ARCH}"
export MAKECMDGOALS="dont-optimize"
@@ -36,3 +38,6 @@ do_stage () {
}
+FILES_${PN}-dbg += "${libdir}/asterisk/modules/.debug"
+FILES_${PN}-dbg += "/var/lib/asterisk/agi-bin/.debug"
+
diff --git a/packages/asterisk/asterisk_1.2.8.bb b/packages/asterisk/asterisk_1.2.8.bb
deleted file mode 100644
index a9917c6e62..0000000000
--- a/packages/asterisk/asterisk_1.2.8.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION="The Astersisk open source software PBX"
-HOMEPAGE="www.asterisk.org"
-LICENSE="GPL"
-DEPENDS="ncurses zlib openssl curl"
-PR = "r0"
-
-SRC_URI="http://ftp.digium.com/pub/asterisk/releases/asterisk-${PV}.tar.gz \
- file://makefile.patch;patch=1"
-
-
-# Doh - they use 'L'inux intead of linux
-# FIXME: Do the sed here
-
-export OSARCH="Linux"
-export PROC="${TARGET_ARCH}"
-
-# We will probably have to edit the CFLAG in the Makefile
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} install
-}
-
-do_stage () {
- install -d ${STAGING_INCDIR}/asterisk
- install -m 0644 ${S}/include/asterisk/*.h ${STAGING_INCDIR}/asterisk/
-}
-
-
diff --git a/packages/asterisk/asterisk-1.2.9.1/.mtn2git_empty b/packages/busybox/busybox-1.2.1/foonas/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/asterisk/asterisk-1.2.9.1/.mtn2git_empty
+++ b/packages/busybox/busybox-1.2.1/foonas/.mtn2git_empty
diff --git a/packages/busybox/busybox-1.2.1/foonas/defconfig b/packages/busybox/busybox-1.2.1/foonas/defconfig
new file mode 100644
index 0000000000..322ccd7740
--- /dev/null
+++ b/packages/busybox/busybox-1.2.1/foonas/defconfig
@@ -0,0 +1,643 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+CONFIG_NITPICK=y
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_SHOW_USAGE=y
+CONFIG_FEATURE_VERBOSE_USAGE=y
+CONFIG_FEATURE_COMPRESS_USAGE=y
+CONFIG_FEATURE_INSTALLER=y
+CONFIG_LOCALE_SUPPORT=y
+CONFIG_GETOPT_LONG=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+CONFIG_FEATURE_SUID=y
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
+# CONFIG_SELINUX is not set
+CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+USING_CROSS_COMPILER=y
+CROSS_COMPILER_PREFIX="powerpc-linux-"
+CONFIG_BUILD_AT_ONCE=y
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_NO_DEBUG_LIB is not set
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+CONFIG_DEBUG_YANK_SUSv2=y
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+PREFIX="./_install"
+
+#
+# Busybox Library Tuning
+#
+CONFIG_MD5_SIZE_VS_SPEED=1
+
+#
+# Applets
+#
+
+#
+# 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_FEATURE_DPKG_DEB_EXTRACT_ONLY 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_LZMA is not set
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+CONFIG_FEATURE_TAR_LONG_OPTIONS=y
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNLZMA is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+# CONFIG_FEATURE_DEB_TAR_GZ is not set
+# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
+# CONFIG_FEATURE_DEB_TAR_LZMA is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+# CONFIG_CATV is not set
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+CONFIG_CKSUM=y
+# CONFIG_CMP is not set
+# CONFIG_COMM is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+CONFIG_FEATURE_DATE_ISOFMT=y
+CONFIG_DD=y
+CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
+CONFIG_FEATURE_DD_IBS_OBS=y
+CONFIG_DF=y
+CONFIG_DIFF=y
+CONFIG_FEATURE_DIFF_BINARY=y
+CONFIG_FEATURE_DIFF_DIR=y
+CONFIG_FEATURE_DIFF_MINIMAL=y
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+# CONFIG_UNIX2DOS is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_FEATURE_ENV_LONG_OPTIONS=y
+CONFIG_EXPR=y
+# CONFIG_EXPR_MATH_SUPPORT_64 is not set
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+CONFIG_FEATURE_FANCY_HEAD=y
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+CONFIG_INSTALL=y
+CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
+# 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=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_FEATURE_MV_LONG_OPTIONS=y
+CONFIG_NICE=y
+CONFIG_NOHUP=y
+CONFIG_OD=y
+# CONFIG_PRINTENV is not set
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_REALPATH=y
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_SORT=y
+CONFIG_FEATURE_SORT_BIG=y
+# CONFIG_STAT is not set
+# CONFIG_FEATURE_STAT_FORMAT is not set
+CONFIG_STTY=y
+# CONFIG_SUM is not set
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
+CONFIG_TEST=y
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_FEATURE_TR_CLASSES=y
+# CONFIG_FEATURE_TR_EQUIV is not set
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+CONFIG_USLEEP=y
+# 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=y
+
+#
+# Common options for ls, more and telnet
+#
+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=y
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+# CONFIG_DUMPKMAP is not set
+# CONFIG_LOADFONT is not set
+# CONFIG_LOADKMAP is not set
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+CONFIG_SETCONSOLE=y
+# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
+# CONFIG_SETKEYCODES is not set
+# CONFIG_SETLOGCONS 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_FEATURE_RUN_PARTS_LONG_OPTIONS=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
+CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_ED is not set
+CONFIG_PATCH=y
+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=y
+CONFIG_FEATURE_VI_READONLY=y
+CONFIG_FEATURE_VI_SETOPTS=y
+CONFIG_FEATURE_VI_SET=y
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_PRINT0=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_MMIN=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_FEATURE_FIND_EXEC=y
+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=y
+CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
+CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
+CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
+
+#
+# Init Utilities
+#
+CONFIG_INIT=y
+# CONFIG_DEBUG_INIT is not set
+CONFIG_FEATURE_USE_INITTAB=y
+CONFIG_FEATURE_INIT_SCTTY=y
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+CONFIG_FEATURE_INITRD=y
+CONFIG_HALT=y
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+CONFIG_FEATURE_SHADOWPASSWDS=y
+# CONFIG_USE_BB_SHADOW is not set
+# CONFIG_USE_BB_PWD_GRP is not set
+CONFIG_ADDGROUP=y
+CONFIG_DELGROUP=y
+CONFIG_ADDUSER=y
+CONFIG_DELUSER=y
+CONFIG_GETTY=y
+CONFIG_FEATURE_UTMP=y
+CONFIG_FEATURE_WTMP=y
+CONFIG_LOGIN=y
+# CONFIG_FEATURE_SECURETTY is not set
+CONFIG_PASSWD=y
+CONFIG_SU=y
+CONFIG_SULOGIN=y
+# CONFIG_VLOCK is not set
+
+#
+# Linux Ext2 FS Progs
+#
+CONFIG_CHATTR=y
+CONFIG_E2FSCK=y
+CONFIG_FSCK=y
+CONFIG_LSATTR=y
+CONFIG_MKE2FS=y
+CONFIG_TUNE2FS=y
+CONFIG_E2LABEL=y
+CONFIG_FINDFS=y
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+CONFIG_RMMOD=y
+CONFIG_LSMOD=y
+# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
+CONFIG_MODPROBE=y
+CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
+
+#
+# Options common to multiple modutils
+#
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+# CONFIG_FEATURE_2_4_MODULES is not set
+CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+# CONFIG_FBSET is not set
+# CONFIG_FEATURE_FBSET_FANCY is not set
+# 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=y
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_FEATURE_MINIX2 is not set
+CONFIG_GETOPT=y
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
+CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+CONFIG_LOSETUP=y
+# CONFIG_MDEV is not set
+# CONFIG_FEATURE_MDEV_CONF is not set
+# CONFIG_FEATURE_MDEV_EXEC is not set
+CONFIG_MKSWAP=y
+# CONFIG_FEATURE_MKSWAP_V0 is not set
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_MOUNT=y
+CONFIG_FEATURE_MOUNT_NFS=y
+CONFIG_PIVOT_ROOT=y
+CONFIG_RDATE=y
+CONFIG_READPROFILE=y
+# CONFIG_SETARCH is not set
+CONFIG_SWAPONOFF=y
+CONFIG_SWITCH_ROOT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_UMOUNT_ALL=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+CONFIG_CROND=y
+# CONFIG_DEBUG_CROND_OPTION is not set
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+CONFIG_CRONTAB=y
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+# CONFIG_FEATURE_DEVFS is not set
+# CONFIG_EJECT is not set
+CONFIG_LAST=y
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+# CONFIG_FEATURE_LESS_FLAGCS is not set
+# CONFIG_FEATURE_LESS_MARKS is not set
+CONFIG_FEATURE_LESS_REGEXP=y
+CONFIG_HDPARM=y
+CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
+# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
+CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
+# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
+CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
+# CONFIG_MAKEDEVS is not set
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
+# CONFIG_MOUNTPOINT is not set
+# CONFIG_MT is not set
+# CONFIG_RUNLEVEL is not set
+CONFIG_RX=y
+CONFIG_STRINGS=y
+# CONFIG_SETSID is not set
+# CONFIG_TASKSET is not set
+CONFIG_TIME=y
+# CONFIG_WATCHDOG is not set
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+CONFIG_ARPING=y
+# CONFIG_DNSD is not set
+# CONFIG_ETHER_WAKE is not set
+# CONFIG_FAKEIDENTD is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+# CONFIG_FEATURE_HTTPD_WITHOUT_INETD is not set
+# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
+# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
+# CONFIG_FEATURE_HTTPD_CGI is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
+# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
+# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+CONFIG_FEATURE_IFCONFIG_SLIP=y
+CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
+CONFIG_FEATURE_IFCONFIG_HW=y
+CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
+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_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC 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_FEATURE_IP_SHORT_FORMS is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_IPCALC is not set
+# CONFIG_FEATURE_IPCALC_FANCY is not set
+# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
+CONFIG_NAMEIF=y
+CONFIG_NC=y
+# CONFIG_NC_GAPING_SECURITY_HOLE is not set
+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=y
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+# CONFIG_FEATURE_TELNETD_INETD is not set
+CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_DEBUG_TFTP is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+
+#
+# udhcp Server/Client
+#
+# CONFIG_APP_UDHCPD is not set
+CONFIG_APP_UDHCPC=y
+# CONFIG_APP_DUMPLEASES is not set
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG 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
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+# CONFIG_ZCIP is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_FUSER=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+CONFIG_PIDOF=y
+# CONFIG_FEATURE_PIDOF_SINGLE is not set
+# CONFIG_FEATURE_PIDOF_OMIT is not set
+CONFIG_PS=y
+CONFIG_FEATURE_PS_WIDE=y
+CONFIG_RENICE=y
+CONFIG_BB_SYSCTL=y
+CONFIG_TOP=y
+CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+
+#
+# Shells
+#
+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_READ_NCHARS is not set
+# CONFIG_ASH_READ_TIMEOUT is not set
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+CONFIG_ASH_BUILTIN_ECHO=y
+CONFIG_ASH_BUILTIN_TEST=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set
+CONFIG_ASH_RANDOM_SUPPORT=y
+CONFIG_ASH_EXPAND_PRMT=y
+# 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_EDITING_VI is not set
+CONFIG_FEATURE_COMMAND_HISTORY=63
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION=y
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+CONFIG_FEATURE_ROTATE_LOGFILE=y
+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=y
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
diff --git a/packages/confuse/.mtn2git_empty b/packages/confuse/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/confuse/.mtn2git_empty
diff --git a/packages/confuse/confuse-native_2.5.bb b/packages/confuse/confuse-native_2.5.bb
new file mode 100644
index 0000000000..6a5dd797b5
--- /dev/null
+++ b/packages/confuse/confuse-native_2.5.bb
@@ -0,0 +1,3 @@
+require confuse_${PV}.bb
+
+inherit native
diff --git a/packages/confuse/confuse_2.5.bb b/packages/confuse/confuse_2.5.bb
new file mode 100644
index 0000000000..572bcd334c
--- /dev/null
+++ b/packages/confuse/confuse_2.5.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Library for parsing configuration files."
+HOMEPAGE = "http://www.nongnu.org/confuse/"
+LICENSE = "LGPL"
+SECTION = "libs"
+
+SRC_URI = "http://download.savannah.gnu.org/releases/confuse/confuse-${PV}.tar.gz \
+ file://build-only-library.patch;patch=1"
+S = "${WORKDIR}/confuse-${PV}"
+
+inherit autotools binconfig pkgconfig lib_package
+
+EXTRA_OECONF = "--enable-shared"
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/packages/confuse/files/.mtn2git_empty b/packages/confuse/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/confuse/files/.mtn2git_empty
diff --git a/packages/confuse/files/build-only-library.patch b/packages/confuse/files/build-only-library.patch
new file mode 100644
index 0000000000..43c46e0bf8
--- /dev/null
+++ b/packages/confuse/files/build-only-library.patch
@@ -0,0 +1,13 @@
+Index: confuse-2.5/Makefile.am
+===================================================================
+--- confuse-2.5.orig/Makefile.am
++++ confuse-2.5/Makefile.am
+@@ -4,7 +4,7 @@
+ AUTOMAKE_OPTIONS = foreign
+ CLEANFILES=*~ '\#*\#'
+ EXTRA_DIST=libconfuse.spec.in libconfuse.spec
+-SUBDIRS = m4 po src examples tests doc
++SUBDIRS = m4 po src
+
+ if HAVE_PKGCONFIG
+ pkgconfigdir = $(libdir)/pkgconfig
diff --git a/packages/cups/cups_1.2.7.bb b/packages/cups/cups_1.2.7.bb
index 22034f9a23..24249fa3b1 100644
--- a/packages/cups/cups_1.2.7.bb
+++ b/packages/cups/cups_1.2.7.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "An Internet printing system for Unix."
SECTION = "console/utils"
LICENSE = "GPL LGPL"
DEPENDS = "gnutls jpeg dbus dbus-glib libpng zlib install-native fakeroot-native"
-PR = "r0"
+PR = "r1"
SRC_URI = "ftp://ftp3.easysw.com/pub/cups/${PV}/cups-${PV}-source.tar.bz2 \
"
@@ -17,6 +17,10 @@ EXTRA_OECONF = " \
--enable-browsing \
--disable-openssl \
--disable-tiff \
+ --without-php \
+ --without-perl \
+ --without-python \
+ --without-java \
"
diff --git a/packages/dfu-util/.mtn2git_empty b/packages/dfu-util/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/dfu-util/.mtn2git_empty
diff --git a/packages/dfu-util/dfu-util-native_svn.bb b/packages/dfu-util/dfu-util-native_svn.bb
new file mode 100644
index 0000000000..af6603ddd1
--- /dev/null
+++ b/packages/dfu-util/dfu-util-native_svn.bb
@@ -0,0 +1,16 @@
+require dfu-util_${PV}.bb
+
+inherit native
+
+DEPENDS = "libusb-native"
+
+do_stage() {
+ install -m 0755 src/dfu-util ${STAGING_BINDIR_NATIVE}
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0755 src/dfu-util_static ${DEPLOY_DIR_IMAGE}/dfu-util
+}
+
+addtask deploy before do_package after do_install
diff --git a/packages/dfu-util/dfu-util_svn.bb b/packages/dfu-util/dfu-util_svn.bb
new file mode 100644
index 0000000000..6f2e050569
--- /dev/null
+++ b/packages/dfu-util/dfu-util_svn.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "USB Device Firmware Upgrade utility"
+SECTION = "devel"
+AUTHOR = "Harald Welte"
+LICENSE = "GPL"
+PV = "0.1+svn${SRCDATE}"
+PR = "r0"
+
+DEPENDS = "libusb"
+
+SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=dfu-util;proto=http"
+S = "${WORKDIR}/dfu-util"
+
+inherit autotools
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/packages/foonas-init/.mtn2git_empty b/packages/foonas-init/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/foonas-init/.mtn2git_empty
diff --git a/packages/foonas-init/files/.mtn2git_empty b/packages/foonas-init/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/foonas-init/files/.mtn2git_empty
diff --git a/packages/foonas-init/files/boot/.mtn2git_empty b/packages/foonas-init/files/boot/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/foonas-init/files/boot/.mtn2git_empty
diff --git a/packages/foonas-init/files/boot/disk b/packages/foonas-init/files/boot/disk
new file mode 100644
index 0000000000..b4bbaf1f3c
--- /dev/null
+++ b/packages/foonas-init/files/boot/disk
@@ -0,0 +1,67 @@
+#!/bin/sh
+# boot from the hard disk partition "$1" (which
+# must be given) using options from the rest of
+# the command line.
+#
+# Use the standard init path (see /etc/init.d/rcS)
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin
+#
+# Load the helper functions
+. /etc/default/functions
+. /etc/default/modulefunctions
+#
+#
+if test -n "$1"
+then
+ device="$1"
+ shift
+ # proc is needed for UUID mount and module load
+ mount -t proc proc /proc
+ # load USB & SCSI storage modules (/proc required!)
+ if [ "$(machine)" != "storcenter" ]; then
+ echo "boot: loading modules required for disk boot"
+ loaddiskmods
+ # waiting for disk (FIXME)
+ sleep=6
+ test "$sleep" -gt 0 && sleep "$sleep"
+ else
+ # make the device links so turnup can use short disk names.
+ # probably only necessary on devfs based systems.
+ /etc/init.d/devices start
+ scc -l redflash -f auto
+ fi
+ #
+ # fire the boot
+ echo "boot: rootfs: mount $* $device [$UUID]"
+ #
+ # Mount read-write because before exec'ing init
+ # If a UUID is given (in the environment) this
+ # is used in preference to the device, but if
+ # the UUID mount fails a standard device mount
+ # is attempted.
+ if test -n "$UUID" &&
+ mount "$@" -U "$UUID" /mnt ||
+ mount "$@" "$device" /mnt
+ then
+ # checkmount checks for sh, chroot, init
+ # and /mnt (i.e. /mnt/mnt in this case)
+ if checkmount /mnt
+ then
+ # if mounted, then move /dev to the new root
+ mount --bind /dev /mnt/dev
+ # pivot to /initrd if available, else /mnt
+ cd /
+ if test -d /mnt/initrd
+ then
+ swivel mnt initrd
+ else
+ swivel mnt mnt
+ fi
+ # swivel failed
+ fi
+ # Failure: unmount the partition
+ umount /mnt
+ fi
+fi
+# fallback - use the flash boot
+exec /boot/flash
diff --git a/packages/foonas-init/files/boot/flash b/packages/foonas-init/files/boot/flash
new file mode 100644
index 0000000000..40f64c9701
--- /dev/null
+++ b/packages/foonas-init/files/boot/flash
@@ -0,0 +1,13 @@
+#!/bin/sh
+# boot from the current (flash) root partition
+# nothing need be done apart from setting the
+# system LED status correctly
+. /etc/default/functions
+scc -l redflash -f auto
+test -x /sbin/init && exec /sbin/init
+# fallback if /sbin/init has been deleted (bad!)
+scc -l red
+exec <>/dev/console >&0 2>&0
+test -x /sbin/sulogin && exec /sbin/sulogin
+test -x /bin/sh && exec /bin/sh
+exit 1
diff --git a/packages/foonas-init/files/boot/network b/packages/foonas-init/files/boot/network
new file mode 100644
index 0000000000..599250e744
--- /dev/null
+++ b/packages/foonas-init/files/boot/network
@@ -0,0 +1,16 @@
+#!/bin/sh
+# bring up the network before boot, used to allow
+# netconsole logging and NFS boot. This runs out
+# of flash, but that's ok because the script doesn't
+# leave any process running.
+#
+# NOTE: /etc/default/functions defines ifup as a shell
+# function!
+. /etc/default/functions
+#
+# Now all the information for booting should be in the configuration
+# file. Config the loopback and network interfaces.
+ifconfig lo 127.0.0.1 up
+iface="$(config iface)"
+test -n "$iface" && ifup "$iface"
+# exit code is true only if the interface config has succeeded
diff --git a/packages/foonas-init/files/boot/nfs b/packages/foonas-init/files/boot/nfs
new file mode 100644
index 0000000000..7cfce66cbb
--- /dev/null
+++ b/packages/foonas-init/files/boot/nfs
@@ -0,0 +1,19 @@
+#!/bin/sh
+# boot from the nfs partition "$1" (which
+# must be given) using options from the rest of
+# the command line.
+#
+# Use the standard init path (see /etc/init.d/rcS)
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin
+#
+. /etc/default/functions
+scc -l redflash -f auto
+#
+if /boot/network
+then
+ # network is up and running, the NFS mount will
+ # now succeed (possibly), use /boot/disk
+ exec /boot/disk "$@"
+fi
+# fallback - use the flash boot
+exec /boot/flash
diff --git a/packages/foonas-init/files/boot/udhcpc.script b/packages/foonas-init/files/boot/udhcpc.script
new file mode 100644
index 0000000000..3f437e3143
--- /dev/null
+++ b/packages/foonas-init/files/boot/udhcpc.script
@@ -0,0 +1,17 @@
+#!/bin/sh
+# executed by udhcpc to do the real work of configuring an interface
+# writes the result (if any) to file descriptor 9
+case "$1" in
+deconfig) # ignored
+ :;;
+renew|bound) # this gives the real information
+ test -n "$ip" && {
+ echo "ip='$ip'"
+ echo "subnet='$subnet'"
+ echo "broadcast='$broadcast'"
+ echo "router='$router'"
+ } >&9;;
+leasefail) # ignore - probably no dhcp server
+ :;;
+*) echo "udhcpc: $*: command not recognised" >&2;;
+esac
diff --git a/packages/foonas-init/files/conffiles b/packages/foonas-init/files/conffiles
new file mode 100644
index 0000000000..e1408a3227
--- /dev/null
+++ b/packages/foonas-init/files/conffiles
@@ -0,0 +1,55 @@
+# conffiles
+# Known SlugOS configuration files. These files are preserved on
+# a flash upgrade. Other configuration files, found from:
+#
+# /usr/lib/ipkg/*.conffiles
+# /etc/*.conf
+#
+# are preserved too with an operation of 'diff' if they have been
+# changed since /etc/.configured was created.
+#
+# Lines starting with # are comments, other lines have
+# two fields:
+#
+# operation file
+#
+# The file must *NOT* have a leading /
+#
+# operation may be:
+# ignore Do not preserve this file
+# preserve Preserve this file unconditionally
+# diff Compare file with the new version, ask if different
+#
+preserve linuxrc
+preserve etc/.configured
+preserve etc/TZ
+diff etc/default/conffiles
+diff etc/default/devpts
+preserve etc/default/rcS
+preserve etc/default/sysconf
+diff etc/default/usbd
+preserve etc/defaultdomain
+preserve etc/dropbear/dropbear_dss_host_key
+preserve etc/dropbear/dropbear_rsa_host_key
+preserve etc/ssh/ssh_host_dsa_key
+preserve etc/ssh/ssh_host_dsa_key.pub
+preserve etc/ssh/ssh_host_rsa_key
+preserve etc/ssh/ssh_host_rsa_key.pub
+preserve etc/fstab
+preserve etc/group
+preserve etc/gshadow
+preserve etc/hostname
+preserve etc/hosts
+preserve etc/localtime
+ignore etc/modules
+ignore etc/modules.conf
+preserve etc/motd
+preserve etc/network/interfaces
+preserve etc/ntp.drift
+preserve etc/passwd
+preserve etc/profile
+preserve etc/resolv.conf
+preserve etc/shadow
+preserve etc/syslog.conf
+preserve etc/timezone
+preserve root/.ssh/authorized_keys
diff --git a/packages/foonas-init/files/functions b/packages/foonas-init/files/functions
new file mode 100644
index 0000000000..2108288ab5
--- /dev/null
+++ b/packages/foonas-init/files/functions
@@ -0,0 +1,413 @@
+#!/bin/sh
+# . this file to load the following utility functions
+#
+# hardware
+# the 'Hardware' string from cpuinfo, or, if not found
+# try a little harder with 'machine'
+hardware(){
+ local hdw
+ hdw=`sed -n 's!^Hardware *: !!p' /proc/cpuinfo`
+ test -n "$hdw" || {
+ hdw=`sed -n 's!^machine *: !!p' /proc/cpuinfo`
+ }
+ echo $hdw
+}
+#
+# machine
+# outputs an identifier of the current machine - i.e. the board
+# slugos is running on.
+machine(){
+ case "$(hardware)" in
+ *Coyote*) echo coyote;;
+ *IXDPG425*) echo ixdpg425;;
+ *WRV54G*) echo wrv54g;;
+ *IXDP425*) echo ixdp425;;
+ *IXDP465*) echo ixdp465;;
+ *IXCDP1100*) echo ixcdp1100*;;
+ *Avila*) echo avila;;
+ *Loft*) echo loft;;
+ *NAS?100d*) echo nas100d;;
+ *NSLU2*) echo nslu2;;
+ *StorCenter*) echo storcenter;;
+ *) echo unknown;;
+ esac
+}
+#
+# single_user_ok
+# if the machine is capable of single user interaction return
+# true, else return false. The result of this function is
+# preempted by setting SULOGIN to 'yes' or 'ok' in /etc/default/rcS
+single_user_ok() {
+ # list known good machines in the 'case'
+ test "$SULOGIN" = yes -o "$SULOGIN" = ok ||
+ case "$(machine)" in
+ ixdp*|avila|loft)
+ test "$SULOGIN" != never;;
+ *) return 1;;
+ esac
+}
+#
+# load_functions "source"
+# load the functions in '/sbin/source' - relies on /sbin/source being
+# a shell script and having support for this function.
+load_functions(){
+ test -n "$1" -a -x "/sbin/$1" && . "/sbin/$1" || {
+ echo "$0: /sbin/$1: script not found" >&2
+ return 1
+ }
+}
+#
+# mtdev "name"
+# return (output) the character device name for flash parition "name"
+# /proc/mtd has the general form:
+# dev: size erasesize name
+# mtd5: 00020000 00020000 "FIS directory"
+# use this rather than hard-wiring the device because the partition
+# table can change - looking in /proc/mtd is more reliable.
+mtdev(){
+ if test $(machine) = storcenter ; then
+ sed -n 's!^mtd\([0-9][0-9]*\):[^"]*"'"$1"'"$!/dev/mtd/\1!p' /proc/mtd
+ else
+ sed -n 's!^\(mtd[0-9][0-9]*\):[^"]*"'"$1"'"$!/dev/\1!p' /proc/mtd
+ fi
+}
+#
+# mtblockdev "name"
+# as mtdev but output the name of the block (not character) device
+mtblockdev(){
+ if test "$(machine)" = storcenter ; then
+ sed -n 's!^mtd\([0-9][0-9]*\):[^"]*"'"$1"'"$!/dev/mtdblock/\1!p' /proc/mtd
+ else
+ sed -n 's!^mtd\([0-9][0-9]*\):[^"]*"'"$1"'"$!/dev/mtdblock\1!p' /proc/mtd
+ fi
+}
+#
+# mtsize "name"
+# the size of the partition as a hexadecimal value (with 0x at the front)
+mtsize(){
+ sed -n 's!^mtd[0-9][0-9]*: \([^ ]*\)[^"]*"'"$1"'"$!0x\1!p' /proc/mtd
+}
+#
+# sysvalmatch "section" "name" 'pattern' "configuration file"
+# sysvalof "section" "name" "configuration file"
+# sysval "section" "name"
+# outputs the value of the SysConf variable 'name' from section 'section',
+# if there are multiple definitions only the last is output
+# NOTE: these functions should only be used internally, add entries to 'config'
+# below if necessary. This is because 'config' does the defaulting.
+sysvalmatch(){
+ sed -n '/^\['"$1"'\]$/,/^\[.*\]$/s/^'"$2"'=\('"$3"'\)$/\1/p' "$4" | sed -n '$p'
+}
+sysvalof(){
+ sysvalmatch "$1" "$2" '.*' "$3"
+}
+sysval(){
+ test -r "$config_root/etc/default/sysconf" &&
+ sysvalof "$1" "$2" "$config_root/etc/default/sysconf"
+}
+#
+# syssection "section"
+# outputs all the values from the given section changed to the format "name value"
+# (i.e. the '=' is dropped).
+syssection(){
+ test -r "$config_root/etc/default/sysconf" &&
+ sed -n '/^\['"$1"'\]$/,/^\[.*\]$/s/^\([^=]*\)=\(.*\)$/\1 \2/p' "$config_root/etc/default/sysconf"
+}
+#
+# config "value"
+# convenience callers for specific values to avoid mis-typing in scripts
+# NOTE: this function does the defaulting, 'sysval' does not!
+# config_root: if set this will override the root where config/sysval
+# looks for /etc/default/sysconf
+config(){
+ local mac
+ mac="$(test -r /proc/net/maclist &&
+ sed -n '/^[0-9A-Za-z][0-9A-Za-z]:[0-9A-Za-z][0-9A-Za-z]:[0-9A-Za-z][0-9A-Za-z]:[0-9A-Za-z][0-9A-Za-z]:[0-9A-Za-z][0-9A-Za-z]:[0-9A-Za-z][0-9A-Za-z]$/p' /proc/net/maclist |
+ sed -n 1p)"
+ #
+ case "$1" in
+ mac) test -n "$mac" && echo "$mac";;
+ host) if test -n "$(sysval network disk_server_name)"
+ then
+ sysval network disk_server_name
+ elif test -n "$(sysval network default_server_name)"
+ then
+ sysval network default_server_name
+ elif test -n "$mac"
+ then
+ echo "$mac" | sed -n 's/^\(..\):\(..\):\(..\):\(..\):\(..\):\(..\)$/slug\1\2\3\4\5\6/p'
+ else
+ # because we want the name to remain constant:
+ echo "turbostation"
+ fi;;
+ domain) sysval network w_d_name;;
+ iface) if test -n "$(sysval network lan_interface)"
+ then
+ sysval network lan_interface
+ else
+ echo eth0
+ fi;;
+ ip) if test -n "$(sysval network ip_addr)"
+ then
+ sysval network ip_addr
+ else
+ echo 192.168.1.16
+ fi;;
+ netmask)sysval network netmask;;
+ gateway)sysval network gateway;;
+ dns) sysval network dns_server1;;
+ dns2) sysval network dns_server2;;
+ dns3) sysval network dns_server3;;
+ boot) if test -n "$(sysval network bootproto)"
+ then
+ sysval network bootproto
+ else
+ echo dhcp
+ fi;;
+ valid) test -r "$config_root/etc/default/sysconf" -a -n "$mac";;
+ *) return 1;;
+ esac
+}
+#
+# checkif "iface"
+# Validate an interface name by making sure that it exists
+# in /proc/net/dev (and is not lo). The listing outputs the
+# interface followed by a :, the check function looks for
+# something of the form '$1[a-zA-Z0-9]*:' and outputs the
+# part preceding the ':'
+checkif(){
+ sed -n '/^[ ]*lo:/d;s/^[ ]*\('"$1"'[a-zA-Z0-9]*\):.*$/\1/p;tE;d;:E;q' /proc/net/dev
+}
+#
+# checkmount "mountpoint"
+# tests an already mounted mountpoint to see whether to attempt to
+# boot with this as root. Returns success if it appears ok.
+checkmount(){
+ # basic test for init (the kernel will try to load this)
+ # but require a shell in bin/sh too
+ test \( -d "$1/mnt" \) -a \
+ \( -x "$1/bin/sh" -o -h "$1/bin/sh" \) -a \
+ \( -x "$1/usr/sbin/chroot" -o -h "$1/usr/sbin/chroot" -o \
+ -x "$1/sbin/chroot" -o -h "$1/sbin/chroot" \) -a \
+ \( -x "$1/sbin/init" -o -h "$1/sbin/init" -o \
+ -x "$1/etc/init" -o -h "$1/etc/init" -o \
+ -x "$1/bin/init" -o -h "$1/bin/init" \)
+}
+#
+# swivel "new root" "old root"
+# NOTE: the arguments must be paths relative to /, bad things
+# will happen if the arguments themselves start with /
+# Pivot to a new root. This does all the fancy pivot_root stuff
+# including closing streams and does a umount /proc - it doesn't
+# matter if this fails (failure codes are ignored), but if /proc
+# was mounted it must be restored by the caller on return.
+# Normally this function never returns!
+# On return 0,1,2 are connected to /dev/console - this may not
+# have been true before!
+swivel(){
+ cd "$1"
+ exec <&- >&- 2>&-
+ # This is just-in-case the called mounted /proc and was
+ # unable to close it because of the streams
+ umount /proc 2>/dev/null
+ if pivot_root . "$2"
+ then
+ # everything must move out of the old root, this process
+ # is $2/bin/sh so it must die, IO is redirected
+ # just in case - typically it will be to a device so it
+ # won't hold the old root open.
+ # the exec here is the first point at which the old root
+ # is unused - before the exec regardless of the close of
+ # 0,1,2 above ash still has *this* shell script open!
+ # (it's on fd 10).
+ # init closes all file descriptors, there's no point
+ # supplying it with fds.
+ # NOTE: this used to use $2/usr/sbin/chroot, however on
+ # linux / is already . when the command is executed
+ # therefore it is essential to use the local (new root)
+ # chroot to ensure it gets the correct shared libraries.
+ if test -x usr/sbin/chroot -o -h usr/sbin/chroot
+ then
+ chroot=usr/sbin/chroot
+ elif test -x sbin/chroot -o -h sbin/chroot
+ then
+ chroot=sbin/chroot
+ else
+ chroot=chroot
+ fi
+ #
+ exec "$chroot" . bin/sh -c "\
+ test -x sbin/init && exec sbin/init
+ test -x etc/init && exec etc/init
+ test -x bin/init && exec bin/init
+ mount -t sysfs sysfs /mnt
+ umount /mnt
+ sync;sync;sync
+ exit 1"
+ fi
+ #
+ # recovery - must restore the old root
+ cd "$2"
+ sbin/pivot_root . "$1"
+ # cd is back to $1 - either pivot_root doesn't change it and the
+ # chroot above was not executed, or pivot_root does change it and
+ # has just changed it back!
+ exec <>/dev/console >&0 2>&0
+}
+#
+# ifup "interface"
+# bring that interface up with the configured ip and other
+# information
+ifup(){
+ local ip hostname router subnet iface HOSTNAME NETMASK BROADCAST
+
+ iface="$1"
+ ip="$(config ip)"
+ hostname="$(config host)"
+ router="$(config gateway)"
+ broadcast=
+
+ if test -n "$ip"
+ then
+ # only if an ip was specified
+ subnet="$(config netmask)"
+ else
+ ip=192.168.1.77
+ fi
+
+ # First try udhcpc - note that the /boot/udhcpc.script
+ # simply records the values returned and the udhcpc
+ # is not left running so this will only work for
+ # the lease length time!
+ ifconfig "$iface" up
+ if test "$(config boot)" != static
+ then
+ test -n "$hostname" && HOSTNAME="-H $hostname"
+ # The script writes the required shell variable assignments
+ # to file descriptor 9
+ eval $(udhcpc -i "$iface" -n -q -r "$ip" $HOSTNAME -s /boot/udhcpc.script 9>&1 >/dev/null)
+ fi
+
+ test -n "$broadcast" && BROADCAST="broadcast $broadcast"
+ test -n "$subnet" && NETMASK="netmask $subnet"
+
+ if ifconfig "$iface" "$ip" $NETMASK $BROADCAST
+ then
+ for route in $router
+ do
+ route add default gw "$route" dev "$iface"
+ done
+ return 0
+ else
+ ifconfig "$iface" down
+ return 1
+ fi
+}
+#
+# ifdown "interface"
+# take the interface down
+ifdown(){
+ ifconfig "$1" down
+}
+#
+# mountflash "flash device" "flash root directory" {mount options}
+# Finds and mounts the flash file system on the given directory
+mountflash(){
+ local ffsdev ffsdir
+
+ ffsdev="$1"
+ test -n "$ffsdev" -a -b "$ffsdev" || {
+ echo "$0: unable to find flash file system to copy ($ffsdev)" >&2
+ return 1
+ }
+ shift
+
+ ffsdir="$1"
+ test -n "$ffsdir" -a -d "$ffsdir" || {
+ echo "$0: mountflash $ffsdir: not a directory (internal error)" >&2
+ return 1
+ }
+ shift
+
+ mount -t jffs2 "$@" "$ffsdev" "$ffsdir" || {
+ echo "$0: $ffsdev: unable to mount flash file system on $ffsdir" >&2
+ return 1
+ }
+ return 0
+}
+#
+# umountflash [-r] "flash device"
+# unmount any instance of the given flash device, if -r is specified a mount on
+# root is an error, otherwise a mount on root is ignored (and remains).
+umountflash(){
+ local rootok ffsno ffsdev
+ rootok=1
+ case "$1" in
+ -r) rootok=
+ shift;;
+ esac
+ #
+ # The argument is ffsdev
+ ffsdev="$1"
+ ffsno="$(devio "<<$ffsdev" prd)"
+ test -n "$ffsno" -a "$ffsno" -ge 0 || {
+ echo "$0: $ffsdev: device number $ffsno is not valid, cannot continue." >&2
+ return 1
+ }
+ #
+ # Make sure that Flashdisk isn't mounted on /
+ if test -z "$rootok" -a "$(devio "<</etc/init.d/sysconfsetup" prd)" -eq "$ffsno"
+ then
+ echo "$0: $ffsdev is mounted on /, use turnup ram" >&2
+ return 1
+ fi
+ #
+ # The function is currently always used interactively, so output
+ echo "$0: umounting any existing mount of $ffsdev" >&2
+ #
+ # check each mount point, do this last first because otherwise nested
+ # mounts of ffsdev cannot be umounted.
+ ffs_umount() {
+ local device mp type options stuff
+
+ read device mp type options stuff
+ test -z "$device" && return 0
+
+ # handle following entries first
+ ffs_umount || return 1
+
+ # handle this entry, since this is currently only used for unmounting
+ # the flash root partition we know a file which must exist...
+ case "$mp/$type" in
+ //jffs2);; # skip /
+ */jffs2)test "$(devio "<<$mp/etc/init.d/sysconfsetup" prd 2>/dev/null)" -ne "$ffsno" ||
+ umount "$mp" || {
+ echo "$0: $mp: unable to umount $ffsdev" >&2
+ return 1
+ };;
+ esac
+
+ return 0
+ }
+ #
+ ffs_umount </proc/mounts || {
+ echo "$0: umount $ffsdev from all mount points then re-run $0" >&2
+ return 1
+ }
+
+ return 0
+}
+
+#
+# uuid_by_partition
+# output a list of partitions and their UUIDs
+uuid_by_partition() {
+ blkid -c /dev/null -s UUID | sed -n 's/^\([^:]*\): .*UUID="\([^"]*\)".*$/\1 \2/p'
+}
+
+#
+# partition_of uuid
+# return the partition corresponding to the UUID
+partition_of() {
+ sed -n 's/^\([^ ]*\) '"$1"'$/\1/p'
+}
diff --git a/packages/foonas-init/files/initscripts/.mtn2git_empty b/packages/foonas-init/files/initscripts/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/foonas-init/files/initscripts/.mtn2git_empty
diff --git a/packages/foonas-init/files/initscripts/fixfstab b/packages/foonas-init/files/initscripts/fixfstab
new file mode 100644
index 0000000000..67116a12fd
--- /dev/null
+++ b/packages/foonas-init/files/initscripts/fixfstab
@@ -0,0 +1,91 @@
+#!/bin/sh
+# validate /etc/fstab against the current UUID list in
+# /etc/uuid_by_partition
+#
+. /etc/default/functions
+pfile=/etc/uuid_by_partition
+
+#
+# use debug to find out what is going on
+test "$1" = start -o "$1" = debug || exit 0
+
+#
+# obtain the current list of parititions with UUIDs
+newlist="$(uuid_by_partition)"
+
+if test -r "$pfile"
+then
+ # read the old list
+ oldlist="$(cat "$pfile")"
+ #
+ # if it hasn't changed nothing need be done
+ test "$newlist" = "$oldlist" && exit 0
+ #
+ # it has changed, but this only matters if
+ # a previously existing uuid has moved, build
+ # a list of old device vs new device for every
+ # uuid which has moved
+ changedlist="$(
+ { echo "$oldlist"
+ echo "$newlist"
+ } | awk 'device[$2] == ""{device[$2] = $1}
+ device[$2] != $1{print device[$2], $1}')"
+
+ if test -n "$changedlist"
+ then
+ # at least one partition has moved, scan the
+ # current fstab to see if it has a reference
+ # to this partition
+ changedfstab="$(
+ { echo "$changedlist"
+ echo '#fstab'
+ cat /etc/fstab
+ } | awk 'BEGIN{list=1}
+ list==1 && $0=="#fstab"{list=0; continue}
+ list==1{new[$1] = $2; continue}
+ new[$1] != ""{print $1, new[$1]}')"
+
+ # if this list is not empty edit the fstab
+ if test -n "$changedfstab"
+ then
+ rm -f /tmp/fstab.$$
+ # if the edit fails then do not overwrite the old
+ # partition list - just exit with an error
+ { echo "$changedlist"
+ echo '#fstab'
+ cat /etc/fstab
+ } | awk 'BEGIN{list=1}
+ list==1 && $0=="#fstab"{list=0; continue}
+ list==1{new[$1] = $2; continue}
+ new[$1] != ""{$1 = new[$1]}
+ {print}' >/tmp/fstab.$$ || {
+ if test "$1" = start
+ then
+ logger -s "/etc/init.d/fixfstab: /tmp/fstab.$$: awk failed"
+ else
+ echo "debug: awk script failed with:" >&2
+ echo "$changedlist" >&2
+ echo "output in /tmp/fstab.$$" >&2
+ fi
+ exit 1
+ }
+
+ if test "$1" = start
+ then
+ mv /tmp/fstab.$$ /etc/fstab || {
+ logger -s "/etc/init.d/fixfstab: /tmp/fstab.$$: update failed"
+ exit 1
+ }
+ else
+ echo "debug: fstab changed:"
+ diff -u /etc/fstab /tmp/fstab.$$
+ fi
+ fi
+ fi
+fi
+
+# write the new list to the file, only if we
+# are doing something...
+test "$1" = start && echo "$newlist" >"$pfile"
+
+exit 0
diff --git a/packages/foonas-init/files/initscripts/loadmodules.sh b/packages/foonas-init/files/initscripts/loadmodules.sh
new file mode 100644
index 0000000000..c5d44d1067
--- /dev/null
+++ b/packages/foonas-init/files/initscripts/loadmodules.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+. /etc/default/modulefunctions # Load module loading logic
+
+loadnetmods
+
+loaddiskmods
+
+loadmiscmods
+
+exit 0
diff --git a/packages/foonas-init/files/initscripts/rmrecovery b/packages/foonas-init/files/initscripts/rmrecovery
new file mode 100644
index 0000000000..eec822b154
--- /dev/null
+++ b/packages/foonas-init/files/initscripts/rmrecovery
@@ -0,0 +1,4 @@
+#!/bin/sh
+# Run to remove /.recovery if the boot seems to have succeeded
+test -e /.recovery && rm -f /.recovery
+exit 0
diff --git a/packages/foonas-init/files/initscripts/sysconfsetup b/packages/foonas-init/files/initscripts/sysconfsetup
new file mode 100644
index 0000000000..a4f9074d9c
--- /dev/null
+++ b/packages/foonas-init/files/initscripts/sysconfsetup
@@ -0,0 +1,46 @@
+#!/bin/sh
+# This script is run once when the system first boots. Its sole
+# purpose is to create /etc/default/sysconf (the overall system
+# configuration file) and other files derived from this.
+#
+# The script runs immediately after S10checkroot.sh - this is the
+# point at which the rootfs will be mounted rw even if the kernel
+# booted with it ro.
+#
+# rm or mv the file (/etc/default/sysconf) to recreate it, run this
+# script with the reload option to overwrite the system files. The
+# configuration files described in sysconf_reload (in
+# /sbin/sysconf) will be overwritten on reload.
+#
+# start: standard startup, do a complete (auto) restore if necessary
+# reinit: always do a complete auto restore
+# reload: just reload sysconf (no config files!)
+#
+# /etc/default/functions contains useful utility functions - it's
+# in a separate file so that it can be loaded by any script
+. /etc/default/functions
+load_functions sysconf || exit 1
+#
+case "$1" in
+start) test -s /etc/default/sysconf || {
+ if sysconf_read
+ then
+ if sysconf_valid
+ then
+ sysconf_restore auto
+ else
+ sysconf_reload
+ fi
+ else
+ sysconf_default
+ sysconf_reload
+ fi
+ };;
+
+reload) test -s /etc/default/sysconf || sysconf_read || sysconf_default
+ sysconf_reload;;
+
+reinit) sysconf_restore auto;;
+
+*) ;;
+esac
diff --git a/packages/foonas-init/files/initscripts/syslog.buffer b/packages/foonas-init/files/initscripts/syslog.buffer
new file mode 100644
index 0000000000..9285c02946
--- /dev/null
+++ b/packages/foonas-init/files/initscripts/syslog.buffer
@@ -0,0 +1,23 @@
+#!/bin/sh
+#
+# Invoke the syslog startup if the configuration
+# uses (only) 'buffer' as the DESTINATION
+DESTINATION=
+test -f /etc/syslog.conf && . /etc/syslog.conf
+doit=
+
+for d in $DESTINATION
+do
+ case "$d" in
+ buffer) doit=1;;
+ file) exit 0;;
+ remote) exit 0;;
+ *) echo "/etc/syslog.conf: $d: unknown destination" >&2
+ exit 1;;
+ esac
+done
+
+test -n "$doit" -a -x /etc/init.d/syslog &&
+ exec /etc/init.d/syslog "$@"
+
+exit 0
diff --git a/packages/foonas-init/files/initscripts/syslog.file b/packages/foonas-init/files/initscripts/syslog.file
new file mode 100644
index 0000000000..80ee5f0174
--- /dev/null
+++ b/packages/foonas-init/files/initscripts/syslog.file
@@ -0,0 +1,23 @@
+#!/bin/sh
+#
+# Invoke the syslog startup if the configuration
+# uses 'file' (and, optionally, buffer) as the DESTINATION
+DESTINATION=
+test -f /etc/syslog.conf && . /etc/syslog.conf
+doit=
+
+for d in $DESTINATION
+do
+ case "$d" in
+ buffer) :;;
+ file) doit=1;;
+ remote) exit 0;;
+ *) echo "/etc/syslog.conf: $d: unknown destination" >&2
+ exit 1;;
+ esac
+done
+
+test -n "$doit" -a -x /etc/init.d/syslog &&
+ exec /etc/init.d/syslog "$@"
+
+exit 0
diff --git a/packages/foonas-init/files/initscripts/syslog.network b/packages/foonas-init/files/initscripts/syslog.network
new file mode 100644
index 0000000000..3d7f4ab8e6
--- /dev/null
+++ b/packages/foonas-init/files/initscripts/syslog.network
@@ -0,0 +1,28 @@
+#!/bin/sh
+#
+# Invoke the syslog startup if the configuration
+# uses 'remote', or doesn't use 'buffer' or 'file'
+DESTINATION=
+test -f /etc/syslog.conf && . /etc/syslog.conf
+doit=
+doneit=
+
+for d in $DESTINATION
+do
+ case "$d" in
+ buffer) doneit=1;;
+ file) doneit=1;;
+ remote) doit=1;;
+ *) doit=1
+ echo "/etc/syslog.conf: $d: unknown destination" >&2
+ exit 1;;
+ esac
+done
+
+# One of doneit or doit is set unless the DESTINATION value
+# is empty (which is probably an error), let syslog handle
+# the error.
+test \( -n "$doit" -o -z "$doneit" \) -a -x /etc/init.d/syslog &&
+ exec /etc/init.d/syslog "$@"
+
+exit 0
diff --git a/packages/foonas-init/files/initscripts/umountinitrd.sh b/packages/foonas-init/files/initscripts/umountinitrd.sh
new file mode 100644
index 0000000000..b590ae68b5
--- /dev/null
+++ b/packages/foonas-init/files/initscripts/umountinitrd.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# umount /mnt, which is where the initrd ends up mounted
+# if the directory /initrd is not present, if this fails
+# then the /initrd is mounted and we want to remount that
+# ro - this works round the shutdown -r hang problem
+. /etc/default/functions
+#
+# if we are turnup'ed to disk, then just unmount the initrd all together
+#
+if [ -e /initrd/dev/.devfsd ]; then
+ [ "$VERBOSE" = "very" ] && echo "Unmounting initrd..."
+ umount /initrd/dev
+ umount /initrd
+ exit 0
+fi
+
+while read device directory remainder
+do
+ case "$directory" in
+ /mnt) echo "InitRD: unmount initrd on /mnt" >&2
+ umount /mnt;;
+ /initrd)# need the device for a remount
+ ffspart=Flashdisk
+ ffsdev="$(mtblockdev $ffspart)"
+ echo "InitRD: remount $ffdev read-only on /initrd" >&2
+ if test -n "$ffsdev" -a -b "$ffsdev"
+ then
+ mount -o remount,ro "$ffsdev" /initrd
+ else
+ echo "Flashdisk: $ffsdev: flash device not found" >&2
+ fi;;
+ esac
+done </proc/mounts
diff --git a/packages/foonas-init/files/links.conf b/packages/foonas-init/files/links.conf
new file mode 100644
index 0000000000..fdd1f3ce23
--- /dev/null
+++ b/packages/foonas-init/files/links.conf
@@ -0,0 +1,6 @@
+# This file does not exist. Please do not ask the debian maintainer about it.
+# You may use it to do strange and wonderful things, at your risk.
+
+# The new RTC class does not create the /dev/rtc symlink, and udev rules don't get run for built-in modules.
+# So it looks like we have to do this here for the moment, until someone comes up with a better idea ...
+L rtc rtc0
diff --git a/packages/foonas-init/files/modulefunctions b/packages/foonas-init/files/modulefunctions
new file mode 100644
index 0000000000..430e376ad8
--- /dev/null
+++ b/packages/foonas-init/files/modulefunctions
@@ -0,0 +1,39 @@
+#!/bin/sh
+# "." this file, then call the appropriate routines to load modules
+# you might need. This is run from /etc/rcS.d/S21loadmodules.sh
+# at boot time. Possible examples are commented out, none of which
+# are needed on openprotium since they are already in the kernel.
+
+. /etc/default/functions
+
+
+loaddiskmods(){
+ :
+# modprobe scsi_mod
+# modprobe sd_mod
+# modprobe usbcore
+# case "$(machine)" in
+# nslu2)
+# modprobe ehci-hcd
+# modprobe ohci-hcd
+# ;;
+# esac
+# modprobe usb-storage
+}
+
+loadnetmods(){
+ :
+# modprobe af_packet
+# case "$(machine)" in
+# ixdp425|nslu2|nas100d)
+# modprobe ixp4xx_mac
+# ;;
+# esac
+}
+
+loadmiscmods(){
+ :
+# modprobe ixp4xx_rng
+# modprobe i2c_dev
+}
+
diff --git a/packages/foonas-init/files/reflash b/packages/foonas-init/files/reflash
new file mode 100644
index 0000000000..f2947822f6
--- /dev/null
+++ b/packages/foonas-init/files/reflash
@@ -0,0 +1,163 @@
+#!/bin/sh
+#
+# Open Protium Reflash. This script will take a firmware image consisting
+# of a compressed linux kernel image, concatentated with a jffs2 root
+# filesystem image. The kernel MTD device is discovered by locating
+# the MTD partition with the tag "kernel" and the filesystem MTD device
+# is dicovered by locating the MTD partition with the tag "filesystem."
+# There is no TOC inside the firmware images so there is no direct way
+# to validate that the sizes of the parts in the firmware match the
+# existing MTD partitions. So there could be a mismatch. However, a
+# a mismatch size will be detect as this script mounts the newly laid
+# done filesystem, a mismatch guarantees this to fail. That being said
+# the script does validate the total size to prevent overwriting
+# uboot. Furthermore the script makes sure the fsdev is not in use and
+# that the various images are block aligned.
+
+flimg=$1
+if [ -z "$flimg" ]; then
+ echo "Usage: reflash <image file>"
+ exit 1
+fi
+
+if [ \! -f $flimg -o \! -r $flimg ]; then
+ #
+ # not a file or not readable
+ #
+ echo "error: Image file [$flimg] not available"
+ exit 1
+fi
+
+dmesg | grep StorCenter >/dev/null 2>&1
+if [ $? -ne 0 ]; then
+ exit 0
+fi
+
+blksize=512
+mtd=/proc/mtd
+mtab=/proc/mounts
+mntdir=/tmp/fs.$$
+
+ktag=kernel
+fstag=filesystem
+
+kdev=` grep $ktag $mtd | awk -F: '{print $1}' | sed -e 's?mtd?/dev/mtdblock/?g'`
+fsdev=`grep $fstag $mtd | awk -F: '{print $1}' | sed -e 's?mtd?/dev/mtdblock/?g'`
+
+flsize=`ls -l $flimg | awk '{print $5}'`
+ksize=`grep $ktag $mtd | awk '{print "0x" $2}'`
+fssize=`grep $fstag $mtd | awk '{print "0x" $2}'`
+
+#
+# Size comes out of dc in exp notation and test wont accept a hex number
+# so dumo it in hex then use awk to convert to decimal
+#
+size=0x`dc 16 o $ksize $fssize + p`
+size=`echo $size | awk '{printf ("%d",$1)}'`
+
+#
+# Make sure we are block aligned
+#
+kblks=`dc $ksize $blksize / p`
+r=`dc $ksize $blksize % p`
+if [ $r -ne 0 ]; then
+ echo "error: Kernel partition is not block aligned."
+ exit 1
+fi
+
+#
+# Make sure we are block aligned
+#
+fsblks=`dc $fssize $blksize / p`
+r=`dc $fssize $blksize % p`
+if [ $r -ne 0 ]; then
+ echo "error: Filesystem partition is not block aligned."
+ exit 1
+fi
+
+#
+# Check to see that we have enough room
+#
+if [ $flsize -gt $size ]; then
+ echo "error: Image size is bigger then available space."
+ exit 1
+fi
+
+#
+# Is fsdev mounted?
+#
+grep $fsdev $mtab > /dev/null 2>&1
+if [ $? -eq 0 ]; then
+ echo "error: $fsdev mounted"
+ exit 1
+fi
+
+#
+# If root is a jffs2 then close enough, im out
+#
+grep jffs2 $mtab > /dev/null 2>&1
+if [ $? -eq 0 ]; then
+ echo "error: $fsdev may be mounted"
+ exit 1
+fi
+
+
+#
+# Mount fsdev and save fsdev/linuxrc
+#
+mkdir $mntdir /tmp/$$
+mount -t jffs2 $fsdev $mntdir
+if [ $? -ne 0 ]; then
+ echo "error: Unable to mount $fsdev"
+ exit 1
+fi
+echo "Preserving /linuxrc in /tmp/$$"
+cp $mntdir/linuxrc* /tmp/$$
+umount $mntdir
+
+echo "Image:"
+echo " Name : $flimg"
+echo " Length: $flsize"
+echo
+echo "Kernel:"
+echo " Device: $kdev"
+echo " Length: $ksize"
+echo " Blocks: $kblks"
+echo
+echo "Filesystem:"
+echo " Device: $fsdev"
+echo " Length: $fssize"
+echo " Blocks: $fsblks"
+echo
+echo 'Ready to flash, Continue? (yes/no)'
+read continue
+if [ "z$continue" != "zyes" ]; then
+ rm -rf $mntdir /tmp/$$
+ exit 0
+fi
+
+#
+# Lets do the flash
+#
+echo Preserving existing flash in: $flimg.sav.$$
+dd of=$flimg.sav.$$ if=$kdev bs=$blksize count=$kblks
+dd of=$flimg.sav.$$ if=$fsdev bs=$blksize count=$fsblks seek=$kblks
+
+echo Flashing new firmware....
+dd if=$flimg of=$kdev bs=$blksize count=$kblks
+dd if=$flimg of=$fsdev bs=$blksize count=$fsblks skip=$kblks
+sync
+sleep 5
+
+#
+# Mount fsdev and restore fsdev/linuxrc
+#
+mount -t jffs2 $fsdev $mntdir
+if [ $? -ne 0 ]; then
+ echo "error: Unable to re-mount $fsdev"
+ exit 1
+fi
+echo "Restoring /linuxrc"
+cp /tmp/$$/linuxrc* $mntdir
+umount $mntdir
+rm -rf $mntdir /tmp/$$
diff --git a/packages/foonas-init/files/sysconf b/packages/foonas-init/files/sysconf
new file mode 100644
index 0000000000..8866c076b8
--- /dev/null
+++ b/packages/foonas-init/files/sysconf
@@ -0,0 +1,793 @@
+#!/bin/sh
+# sysconf
+#
+# utility to manipulate system configuration information help
+# in a RedBoot SysConf partition
+#
+# load the utility functions (unless this is being called just
+# to load these functions!)
+test "$1" != sysconf && . /etc/default/functions
+
+# NSLU2 flash layout is non-standard.
+case "$(machine)" in
+nslu2)
+ kpart="Kernel"
+ syspart="SysConf"
+ ffspart="Flashdisk";;
+*)
+ kpart="kernel"
+ syspart="sysconfig"
+ ffspart="filesystem";;
+esac
+#
+# sysconf_valid
+# return true if the SysConf partition exists and seems to be
+# potentially valid (it starts with a reasonable length).
+sysconf_valid(){
+ local sysdev
+ sysdev="$(mtblockdev $syspart)"
+ test -n "$sysdev" -a -b "$sysdev" &&
+ devio "<<$sysdev" '!! b.10>s32768<&!'
+}
+
+#
+# sysconf_read [prefix]
+# read the $syspart partition (if present) writing the result into
+# /etc/default/sysconf, if the result is empty it will be removed.
+sysconf_read(){
+ local sysdev sedcmd mac config_root
+ config_root="$1"
+ rm -f /tmp/sysconf.new
+ sysdev="$(mtblockdev $syspart)"
+ if sysconf_valid
+ then
+ # Read the defined part of $syspart into /etc/default/sysconf.
+ # $syspart has lines of two forms:
+ #
+ # [section]
+ # name=value
+ #
+ # In practice $syspart also contains other stuff, use the command:
+ #
+ # devio '<</dev/mtd1;cpb'
+ #
+ # to examine the current settings. The badly formatted stuff
+ # is removed (to be exact, the sed script selects only lines
+ # which match one of the two above). The lan interface, which
+ # on NSLU2 defaults to ixp0, is changed to the correct value for
+ # slugos, eth0. The bootproto, which LinkSys sets to static in
+ # manufacturing, is reset to dhcp if the IP is still the
+ # original (192.168.1.77)
+ sedcmd='/^\[[^][]*\]$/p;'
+ # only do the ip_addr and lan_interface fixups on NSLU2
+ if test "$(machine)" = nslu2
+ then
+ sedcmd="$sedcmd"'
+ s/^lan_interface=ixp0$/lan_interface=eth0/;
+ /^ip_addr=192\.168\.1\.77$/,/^bootproto/s/^bootproto=static$/bootproto=dhcp/;'
+ fi
+ # always fix up the hardware addr if it is present
+ mac="$(config mac)"
+ if test -n "$mac"
+ then
+ sedcmd="$sedcmd"'
+ s/^hw_addr=.*$/hw_addr='"$mac"'/;'
+ fi
+ # and only print lines of the correct form
+ sedcmd="$sedcmd"'
+ /^[-a-zA-Z0-9_][-a-zA-Z0-9_]*=/p'
+
+ devio "<<$sysdev" cpb fb1,10 | sed -n "$sedcmd" >/tmp/sysconf.new
+ fi
+ #
+ # test the result - sysconf must be non-empty
+ if test -s /tmp/sysconf.new
+ then
+ mv /tmp/sysconf.new "$config_root/etc/default/sysconf"
+ else
+ rm -f /tmp/sysconf.new
+ return 1
+ fi
+}
+
+#
+# sysconf_default [prefix]
+# Provde a default /etc/default/sysconf when there is no $syspart partition,
+# or when it is invalid, this function will read from an existing sysconf,
+# copying the values into the new one.
+# sysconf_line tag config-tag
+# write an appropriate line if the config value is non-empty
+sysconf_line(){
+ config "$2" | {
+ local value
+ read value
+ test -n "$value" && echo "$1"="$value"
+ }
+}
+#
+sysconf_default(){
+ local config_root
+ config_root="$1"
+ { echo '[network]'
+ sysconf_line hw_addr mac
+ sysconf_line disk_server_name host
+ sysconf_line w_d_name domain
+ sysconf_line lan_interface iface
+ sysconf_line ip_addr ip
+ sysconf_line netmask netmask
+ sysconf_line gateway gateway
+ sysconf_line dns_server1 dns
+ sysconf_line dns_server2 dns2
+ sysconf_line dns_server3 dns3
+ sysconf_line bootproto boot
+ } >/tmp/sysconf.new
+ mv /tmp/sysconf.new "$config_root/etc/default/sysconf"
+}
+
+#
+# sysconf_reload [prefix]
+# read the values from /etc/default/sysconf and use these values to set
+# up the following system files:
+#
+# /etc/hostname
+# /etc/defaultdomain
+# /etc/resolv.conf
+# /etc/network/interfaces
+# /etc/motd
+#
+sysconf_reload(){
+ local config_root host domain iface boot ip netmask gateway ifname iftype
+ config_root="$1"
+ host="$(config host)"
+ test -n "$host" && echo "$host" >"$config_root/etc/hostname"
+ domain="$(config domain)"
+ test -n "$domain" && echo "$domain" >"$config_root/etc/defaultdomain"
+ #
+ # The DNS server information gives up to three nameservers,
+ # but this currently only binds in the first.
+ {
+ test -n "$domain" && echo "search $domain"
+ test -n "$(config dns)" && echo "nameserver $(config dns)"
+ test -n "$(config dns2)" && echo "nameserver $(config dns2)"
+ test -n "$(config dns3)" && echo "nameserver $(config dns3)"
+ } >"$config_root/etc/resolv.conf"
+ #
+ # Ethernet information. This goes into /etc/network/interfaces,
+ # however this is only used for static setup (and this is not
+ # the default). With dhcp the slugos udhcp script,
+ # /etc/udhcpc.d/50default, loads the values from sysconf.
+ iface="$(config iface)"
+ boot="$(config boot)"
+ # Only dhcp and static are supported at present - bootp
+ # support requires installation of appropriate packages
+ # dhcp is the fail-safe
+ case "$boot" in
+ dhcp|static) ;;
+ *) boot=dhcp;;
+ esac
+ #
+ ip="$(config ip)"
+ netmask="$(config netmask)"
+ gateway="$(config gateway)"
+ {
+ echo "# /etc/network/interfaces"
+ echo "# configuration file for ifup(8), ifdown(8)"
+ echo "#"
+ echo "# The loopback interface"
+ echo "auto lo"
+ echo "iface lo inet loopback"
+ echo "#"
+ echo "# The interface used by default during boot"
+ echo "auto $iface"
+ echo "# Automatically generated from /etc/default/sysconf"
+ echo "# address, netmask and gateway are ignored for 'dhcp'"
+ echo "# but required for 'static'"
+ echo "iface $iface inet $boot"
+ # The following are ignored for DHCP but are harmless
+ test -n "$ip" && echo " address $ip"
+ test -n "$netmask" && echo " netmask $netmask"
+ test -n "$gateway" && echo " gateway $gateway"
+ #
+ # Now read all the other ARPHRD_ETHER (type=1) interfaces
+ # and add an entry for each.
+ for ifname in $(test -d /sys/class/net && ls /sys/class/net)
+ do
+ if test -r "/sys/class/net/$ifname/type" -a "$ifname" != "$iface"
+ then
+ read iftype <"/sys/class/net/$ifname/type"
+ case "$iftype" in
+ 1) echo "#"
+ echo "# /sys/class/net/$ifname:"
+ echo "auto $ifname"
+ echo "iface $ifname inet dhcp";;
+ esac
+ fi
+ done
+ } >"$config_root/etc/network/interfaces"
+ #
+ # Finally rewrite /etc/motd
+ { echo "Host name: $host"
+ echo "Domain name: $domain"
+ echo "Host MAC: $(config mac)"
+ echo "Network boot method: $boot"
+ case "$boot" in
+ static) echo "Host IP address: $ip";;
+ esac
+ echo "Use 'turnup init' to reset the configuration"
+ echo "Use 'turnup preserve' to save the configuration permanently"
+ echo "Use 'turnup restore' to restore a previously saved configuration"
+ echo "Use 'turnup disk|nfs -i <device> options to initialise a non-flash root"
+ echo "Use 'turnup help' for more information"
+ } >"$config_root/etc/motd"
+}
+
+#
+# sysconf_save_conffiles <flash-directory> <dest> <list>
+# preserve the configuration files in a directory or in a CPIO archive
+# (which is *not* compressed). If <dest> is a directory the files are
+# copied, otherwise a CPIO archive is made with that name. <list> is
+# the listing file giving the preserved files and the processing option.
+sysconf_save_conffiles(){
+ local ffsdir dest list file
+ ffsdir="$1"
+ saved="$2"
+ list="$3"
+ test -n "$ffsdir" -a -r "$ffsdir/etc/default/conffiles" -a -n "$saved" -a -n "$list" || {
+ echo "sysconf_save_conffiles: invalid arguments: '$*'" >&2
+ echo " usage sysconf_save_conffiles <flash-directory> <dest> <list>" >&2
+ return 1
+ }
+ #
+ ( cd "$ffsdir"
+ find etc/*.conf $(sed 's!^/!!' usr/lib/ipkg/info/*.conffiles) ! -type d -newer etc/.configured -print |
+ sed 's/^/diff /'
+ exec sed 's/#.*$//;/^[ ]*$/d' etc/default/conffiles
+ ) | sed 's!^/*!!' |
+ awk '{ op=$1; $1=""; file[$0]=op }
+ END{ for (f in file) if (file[f] != "ignore") print file[f] f }' |
+ while read op file
+ do
+ if test -e "$ffsdir/$file"
+ then
+ echo "$op $file" >&3
+ echo "$file"
+ fi
+ done 3>"$list" | (
+ cd "$ffsdir"
+ if test -d "$saved"
+ then
+ exec cpio -p -d -m -u "$saved"
+ else
+ exec cpio -o -H crc >"$saved"
+ fi
+ )
+}
+
+#
+# sysconf_verify file
+# this is called with the name of a 'diff' file which is, indeed,
+# different and with all the std streams connected to the tty. It
+# returns a status code to say whether (0) or not (1) to copy the
+# file over.
+#
+# globals: the following must be defined in the calling context!
+# saved: the directory containing the unpacked saved files
+# ffsdir: the flash directory to which the files are being restored (/)
+#
+sysconf_verify_help() {
+ echo "Please specify how to handle this file or link, the options are as follows,"
+ echo "two character abbreviations may be used:"
+ echo
+ echo " keep: retain the old file, overwrite the new flash image file"
+ echo " upgrade: retain the new file, the old (saved) file is not used"
+ echo " diff: display the differences between the old and the new using diff -u"
+ echo " shell: temporarily start an interactive shell (sh -i), exit to continue"
+ echo " skip: ignore this file for the moment. The file is left in the directory"
+ echo " $saved and many be handled after this script has completed"
+}
+#
+sysconf_verify() {
+ local command file
+
+ # return 1 here causes the file not to be overwritten,
+ # control should never get here!
+ test -n "$sysconf_noninteractive" && {
+ echo "$0: $*: changed file cannot be handled non-interactively" >&2
+ return 1
+ }
+
+ file="$1"
+ echo "$0: $file: configuration file changed."
+ sysconf_verify_help "$file"
+ while :
+ do
+ echo -n "option: "
+ read command
+ case "$command" in
+ ke*) return 0;;
+ up*) rm "$saved/$file"
+ return 1;;
+ di*) echo "DIFF OLD($saved) NEW($ffsdir)"
+ diff -u "$saved/$file" "$ffsdir/$file";;
+ sh*) PS1="$file: " sh -i;;
+ sk*) return 1;;
+ *) sysconf_verify_help "$file";;
+ esac
+ done
+}
+# the same, but for a link
+sysconf_verify_link() {
+ local command link
+
+ # return 1 here causes the file not to be overwritten,
+ # control should never get here!
+ test -n "$sysconf_noninteractive" && {
+ echo "$0: $*: changed link cannot be handled non-interactively" >&2
+ return 1
+ }
+
+ link="$1"
+ echo "reflash: $link: configuration link changed."
+ sysconf_verify_help "$link"
+ while :
+ do
+ echo -n "option: "
+ read command
+ case "$command" in
+ ke*) return 0;;
+ up*) rm "$saved/$link"
+ return 1;;
+ di*) echo "DIFF:"
+ echo "OLD($saved): $link -> $(readlink "$saved/$link")"
+ echo "NEW($ffsdir): $link -> $(readlink "$ffsdir/$link")";;
+ sh*) PS1="$link: " sh -i;;
+ sk*) return 1;;
+ *) sysconf_verify_help "$link";;
+ esac
+ done
+}
+
+#
+# sysconf_restore_conffiles <flash-directory> <source-dir> <restore>
+# restore the configuration files from a directory. 'source-dir'
+# If <source> is a directory of files from sysconf_save_conffiles. The
+# list of files restored is written to the third argument (restore),
+# but is not required (/dev/null would be ok).
+#
+# the list of files to restore is read from stdin, along with the
+# processing option for each file (the format is as produced by
+# sysconf_save_conffiles in the 'list' output).
+sysconf_restore_conffiles(){
+ local ffsdir saved restore
+ # these are the globals used by the above function
+ ffsdir="$1"
+ saved="$2"
+ restore="$3"
+ test -n "$ffsdir" -a -r "$ffsdir/etc/default/conffiles" -a -d "$saved" -a -n "$restore" || {
+ echo "restore_conffiles: invalid arguments: '$*'" >&2
+ echo " usage sysconf_restore_conffiles <flash-directory> <source-dir> <list>" >&2
+ return 1
+ }
+ #
+ # read the list and process each given file
+ while read op file
+ do
+ # handle .configured specially (to preserve the original datestamp)
+ if test "$file" = "etc/.configured"
+ then
+ # this should definately not fail because of the test above!
+ if cp -a "$saved/$file" "$ffsdir/$file"
+ then
+ echo "$file" >&3
+ else
+ echo "sysconf_restore_conffiles: $file: timestamp copy failed (ignored)" >&2
+ fi
+ elif test -h "$saved/file" -o -h "$ffsdir/$file"
+ then
+ # new or old symbolic link
+ if test -h "$saved/$file" -a -h "$ffsdir/$file" &&
+ test "$(readlink "$saved/$file")" = "$(readlink "$ffsdir/$file")"
+ then
+ # no change
+ echo "$file" >&3
+ else
+ # assume a change regardless
+ case "$op" in
+ preserve)
+ echo "$file"
+ echo "$file" >&3;;
+ diff) # need user input
+ if sysconf_verify_link "$file" <>/dev/tty >&0 2>&0
+ then
+ echo "$file"
+ echo "$file" >&3
+ fi;;
+ esac
+ fi
+ else
+ # only overwrite if necessary
+ if test -e "$ffsdir/$file" && cmp -s "$saved/$file" "$ffsdir/$file"
+ then
+ # do not overwrite
+ echo "$file" >&3
+ elif test ! -e "$ffsdir/$file"
+ then
+ # always preserve
+ echo "$file"
+ echo "$file" >&3
+ else
+ case "$op" in
+ preserve)
+ echo "$file"
+ echo "$file" >&3;;
+ diff) # the files are different, get user input
+ if sysconf_verify "$file" <>/dev/tty >&0 2>&0
+ then
+ echo "$file"
+ echo "$file" >&3
+ fi;;
+ esac
+ fi
+ fi
+ done 3>"$restore" | (cd "$saved"; exec cpio -p -d -u "$ffsdir")
+}
+
+#
+# sysconf_test_restore <flash-directory> <source-dir>
+# return true only if the restore does not need to do an interactive
+# compare
+sysconf_test_restore(){
+ local ffsdir saved
+ # these are the globals used by the above function
+ ffsdir="$1"
+ saved="$2"
+ # this is an error case, but return 0 so that the error is
+ # detected later
+ test -n "$ffsdir" -a -r "$ffsdir/etc/default/conffiles" -a -d "$saved" ||
+ return 0
+ #
+ # read the list and check each diff file (this is just a copy of the
+ # logic above with all the work removed!)
+ while read op file
+ do
+ # handle .configured specially (to preserve the original datestamp)
+ if test "$op" != diff
+ then
+ : # no diff required
+ elif test "$file" = "etc/.configured"
+ then
+ : # special handling
+ elif test -h "$saved/file" -o -h "$ffsdir/$file"
+ then
+ # new or old symbolic link
+ if test -h "$saved/$file" -a -h "$ffsdir/$file" &&
+ test "$(readlink "$saved/$file")" = "$(readlink "$ffsdir/$file")"
+ then
+ : # no change
+ else
+ # assume a change regardless
+ return 1
+ fi
+ else
+ # only overwrite if necessary
+ if test -e "$ffsdir/$file" && cmp -s "$saved/$file" "$ffsdir/$file"
+ then
+ : # do not overwrite
+ elif test ! -e "$ffsdir/$file"
+ then
+ : # always preserve
+ else
+ # a change
+ return 1
+ fi
+ fi
+ done
+
+ return 0
+}
+
+#
+# sysconf_save
+# save the system configuration to $syspart - $syspart must exist and
+# there must be a writeable device for it.
+sysconf_save(){
+ local sysdev ffsdev ffsdir saved list size status
+ ffsdev="$(mtblockdev $ffspart)"
+ sysdev="$(mtblockdev $syspart)"
+ status=1
+ if test -n "$sysdev" -a -b "$sysdev" -a -n "$ffsdev" -a -b "$ffsdev"
+ then
+ # this will succeed silently if the flash device is on /
+ umountflash "$ffsdev" || exit 1
+ #
+ # Everything is umounted, now remount on a temporary directory.
+ ffsdir="/tmp/flashdisk.$$"
+ mkdir "$ffsdir" || {
+ echo "$0: $ffsdir: failed to create temporary directory" >&2
+ exit 1
+ }
+ #
+ mountflash "$ffsdev" "$ffsdir" -o ro || {
+ rmdir "$ffsdir"
+ exit 1
+ }
+ # need temporary files for the cpio output and the listing
+ saved=/tmp/cpio.$$
+ list=/tmp/preserve.$$
+ rm -rf "$saved" "$list"
+ sysconf_save_conffiles "$ffsdir" "$saved" "$list" || {
+ echo "$0: $saved: archive of saved configuration files failed" >&2
+ rm -rf "$saved"
+ rm "$list"
+ umount "$ffsdir" && rmdir "$ffsdir" ||
+ echo "$0: $ffsdir: temporary directory cleanup failed" >&2
+ return 1
+ }
+ # ignore the error in this case:
+ umount "$ffsdir" && rmdir "$ffsdir" ||
+ echo "$0: $ffsdir: temporary directory cleanup failed" >&2
+ #
+ # we now have:
+ # /etc/default/sysconf the basic config
+ # /tmp/preserve.$$ the list of saved files
+ # /tmp/cpio.$$ the CPIO archive of those files
+ #
+ # make one big file with the sysconf data followed by the
+ # compressed archive in /tmp/sysconf.$$
+ { { cat /etc/default/sysconf
+ echo '[preserve]'
+ } | sed -n '1,/^\[preserve\]^/p'
+ while read op file
+ do
+ echo "$op"="$file"
+ done <"$list"
+ } >/tmp/sysconf.$$
+ size="$(devio "<</tmp/sysconf.$$" 'pr$')"
+ gzip -9 <"$saved" >>/tmp/sysconf.$$
+ #
+ # more cleanup, then try to write the new sysconf to $syspart
+ # the format is a 4 byte big-endian length then the text data
+ # if the data won't fit exit with error code 7
+ rm "$saved" "$list"
+ devio -p "<</tmp/sysconf.$$" ">>$sysdev" '
+ $( $4+ # >
+ !! 7
+ $) 0
+ wb '"$size"',4
+ cp $'
+ case $? in
+ 0) echo " done" >&2
+ status=0;;
+ 1) echo " failed" >&2
+ echo " $syspart could not be written (no changes made)" >&2;;
+ 3) echo " failed" >&2
+ echo " $syspart partially written, you may want to reset it" >&2;;
+ 7) echo " failed" >&2
+ echo " $syspart is too small: $size bytes required" >&2
+ echo " No change made" >&2;;
+ *) echo " failed" >&2
+ echo " Internal error writing $syspart" >&2;;
+ esac
+ #
+ rm -f /tmp/sysconf.$$
+ else
+ echo "sysconf save: $syspart or $ffspart partition not found" >&2
+ echo " A RedBoot partition named '$syspart' must exist in the system" >&2
+ echo " flash memory for this command to work, and there must be a" >&2
+ echo " block device to access this partition (udev will normally" >&2
+ echo " create this automatically. The flash partition contents must" >&2
+ echo " also be accessible in a partition called '$ffspart'" >&2
+ echo
+ echo " To create the $syspart partition use the 'fis create' command" >&2
+ echo " in the RedBoot boot loader, it is sufficient to make the" >&2
+ echo " partition one erase block in size unless you have substantially" >&2
+ echo " increased the size of the files listed in /etc/default/conffiles" >&2
+ fi
+
+ return $status
+}
+
+#
+# sysconf_restore [auto]
+# restore previously saved configuration information from $syspart
+sysconf_restore_error(){
+ local root
+ root="$1"
+ shift
+ # -------------------------------------------------------------------------------
+ { echo " WARNING: saved configuration files not restored"
+ test -n "$1" && echo "$*"
+ echo
+ echo "The configuration of this machine has been reinitialised using the values"
+ echo "from /etc/default/sysconf, however configuration files saved in the $syspart"
+ echo "partition have not been restored."
+ echo
+ echo "You can restore these files by correcting any reported errors then running"
+ echo
+ echo " sysconf restore"
+ echo
+ echo "from the command line. This will completely reinitialise the configuration"
+ echo "using the information in the $syspart partition."
+ } >"$root/etc/motd"
+ cat "$root/etc/motd" >&2
+}
+#
+sysconf_restore(){
+ local sysdev ffsdev ffsdir saved restore size status sysconf_noninteractive config_root
+
+ # if set this means 'do no diff' - this avoids the code above which
+ # would open /dev/tty and therefore allows this stuff to be done from
+ # an init script
+ sysconf_noninteractive=
+ test "$1" = auto && sysconf_noninteractive=1
+
+ ffsdev="$(mtblockdev $ffspart)"
+ sysdev="$(mtblockdev $syspart)"
+ status=1
+ if test -n "$sysdev" -a -b "$sysdev" -a -n "$ffsdev" -a -b "$ffsdev" &&
+ sysconf_valid
+ then
+ # this will succeed silently if the flash device is on /
+ umountflash "$ffsdev" || exit 1
+ #
+ # Everything is umounted, now remount on a temporary directory.
+ ffsdir="/tmp/flashdisk.$$"
+ config_root="$ffsdir"
+ mkdir "$ffsdir" || {
+ echo "$0: $ffsdir: failed to create temporary directory" >&2
+ exit 1
+ }
+ #
+ mountflash "$ffsdev" "$ffsdir" || {
+ rmdir "$ffsdir"
+ exit 1
+ }
+ #
+ # first restore the $syspart section
+ sysconf_read "$ffsdir" || sysconf_default "$ffsdir"
+ #
+ # now use this to regenerate the system files
+ sysconf_reload "$ffsdir"
+ #
+ # now examine the [preserve] section, if it is there restore
+ # it if possible.
+ if test -n "$(syssection preserve)"
+ then
+ # 'saved' is a directory, 'restore' is a file (which is
+ # used to detect unrestored files). The directory needs
+ # to be populated with files.
+ saved=/tmp/cpio.$$
+ restore=/tmp/restore.$$
+ rm -rf "$saved" "$restore"
+ #
+ mkdir "$saved" || {
+ sysconf_restore_error "$ffsdir" "$saved: failed to create temporary directory"
+ return 1
+ }
+ #
+ # the CPIO archive is gzip compressed after the text part
+ # of sysconf, gzip will handle the LZ stream termination
+ # correctly (and break the pipe) so we don't need to know
+ # the real length of the data
+ devio "<<$sysdev" '<=b4+.' 'cp $s-' | gunzip | (
+ cd "$saved"
+ exec cpio -i -d -m -u
+ ) || {
+ rm -rf "$saved"
+ sysconf_restore_error "$ffsdir" "$saved: cpio -i failed"
+ return 1
+ }
+ # either there must be no 'diff' files or it must
+ # be possible to interact with a real user.
+ if test -z "$sysconf_noninteractive" ||
+ syssection preserve | sysconf_test_restore "$ffsdir" "$saved"
+ then
+ #
+ # remove the 'init' motd from sysconf_reload
+ rm "$ffsdir/etc/motd"
+ #
+ # now restore from the directory, using the information in
+ # the preserve section, if this fails in a non-interactive
+ # setting the system might not reboot
+ syssection preserve |
+ sysconf_restore_conffiles "$ffsdir" "$saved" "$restore" || {
+ # there is a chance of the user cleaning this up
+#------------------------------------------------------------------------------
+ sysconf_restore_error "$ffsdir" \
+"$0: $saved: restore of saved configuration files failed.
+ The flash file system is mounted on $ffsdir.
+ The saved files are in $saved and the list of files selected for
+ restore is in $restore.
+ You should restore any required configuration from $saved, then umount
+ $ffsdir and reboot."
+ # this prevents cleanup/umount
+ return 1
+ }
+ #
+ # remove the copied files (i.e. the ones which were preserved)
+ ( cd "$saved"
+ exec rm $(cat "$restore")
+ )
+ rm "$restore"
+ #
+ # clean up, files left in $saved need to be handled by the user
+ files="$(find "$saved" ! -type d -print)"
+ if test -n "$files"
+ then
+#------------------------------------------------------------------------------
+ sysconf_restore_error "$ffsdir" \
+"$0: some saved configuration files have not been handled:
+
+$files
+
+These files can be examined in $saved and restored to
+$ffsdir if required. The saved files are in a temporary
+directory and will not be retained across a reboot - copy then elsewhere if
+you are unsure whether they are needed."
+ return 1
+ fi
+ #
+ # so this is safe now (no files, links etc)
+ rm -rf "$saved"
+ else
+ rm -rf "$saved"
+ # non-interactive and some changed diff files
+ sysconf_restore_error "$ffsdir" \
+"$0: some of the saved configuration files must be
+examined before restoration"
+ # but continue to the umount
+ fi
+ fi
+ #
+ # ignore the error in this case:
+ umount "$ffsdir" && rmdir "$ffsdir" ||
+ echo "$0: $ffsdir: temporary directory cleanup failed" >&2
+ status=0
+ else
+ echo "sysconf restore: $syspart or $ffspart partition not found" >&2
+ echo " You must have used 'sysconf save' to save configuration data" >&2
+ echo " into the $syspart partition before using this command. The command" >&2
+ echo " will restore the configuration data to the flash root partition" >&2
+ echo " named '$ffspart' - this must also be accessible." >&2
+ fi
+
+ return $status
+}
+
+#
+# sysconf_help
+# help text
+sysconf_help(){
+ # -------------------------------------------------------------------------------
+ echo "sysconf: usage: sysconf read|default|reload|save|restore" >&2
+ echo " read: the current $syspart partition is read into /etc/default/sysconf" >&2
+ echo " default: a default /etc/default/sysconf is created" >&2
+ echo " reload: system configuration files are recreated from /etc/default/sysconf" >&2
+ echo " save: /etc/default/sysconf and the files listed in /etc/default/conffiles" >&2
+ echo " are written to the $syspart partition" >&2
+ echo " restore: the configuration information in the $syspart partition saved by" >&2
+ echo " 'sysconf save' is restored" >&2
+}
+
+#
+# the real commands
+#if [ "$(machine)" = "storcenter" ]; then
+# echo "sysconf not (yet) supported on storcenter"
+# exit 0
+#fi
+sysconf_command="$1"
+test $# -gt 0 && shift
+case "$sysconf_command" in
+read) sysconf_read "$@";;
+default)sysconf_default "$@";;
+reload) sysconf_reload "$@";;
+save) sysconf_save "$@";;
+restore)sysconf_restore "$@";;
+valid) sysconf_valid "$@";;
+
+sysconf)# just load the functions
+ ;;
+
+*) # help text
+ sysconf_help "$@";;
+esac
diff --git a/packages/foonas-init/files/turnup b/packages/foonas-init/files/turnup
new file mode 100644
index 0000000000..73befd26c9
--- /dev/null
+++ b/packages/foonas-init/files/turnup
@@ -0,0 +1,861 @@
+#!/bin/sh
+# turnup
+# See the help block at the end for documentation.
+#
+. /etc/default/functions
+
+#
+# configuration
+# The following variables control which directories in /var end
+# up on the rootfs and which end up in a temporary file system.
+INRAM_MEMSTICK="/var/cache /var/lock /var/log /var/run /var/tmp /var/lib/ipkg"
+INRAM_NFS="/var/cache /var/lock /var/run /var/tmp"
+INRAM_DISK=""
+
+#
+# force: override certain checks
+force=
+
+#
+# pfile: the uuid/partition file
+pfile=/etc/uuid_by_partition
+
+#
+# fstype new
+# The type of the file system mounted on "new" Outputs the last
+# piece of information found, which should be the one for the
+# currently visible mount!
+fstype() {
+ local cwd dev mp type options pass freq result
+ cwd="$(cd "$1"; /bin/pwd)"
+ result=
+ while read dev mp type options pass freq
+ do
+ case "$mp" in
+ "$cwd") result="$type";;
+ esac
+ done </proc/mounts
+ echo "$result"
+}
+
+#
+# fsoptions arguments
+# Collapses the mount (-o) options into a single list which is
+# printed on stdout. Accepts an arbitrary list of options and
+# just joins them together.
+fsoptions() {
+ local options
+ options=
+ while test $# -gt 1
+ do
+ case "$1" in
+ -t) shift;;
+ -o) if test -n "$2"
+ then
+ if test -n "$options"
+ then
+ options="$options,$2"
+ else
+ options="$2"
+ fi
+ fi
+ shift;;
+ esac
+ shift
+ done
+ if test -n "$options"
+ then
+ echo "$options"
+ else
+ echo defaults
+ fi
+}
+
+#
+# get_flash <directory> {mount options}
+# mount the flash device, writeable, on the given directory
+get_flash() {
+ local ffsdir ffsdev
+
+ ffsdir="$1"
+ shift
+ test -n "$ffsdir" -a -d "$ffsdir" || {
+ echo "$0: $ffsdir: internal error, flash mount point not a directory" >&2
+ return 1
+ }
+
+ case "$(machine)" in
+ nslu2) ffsdev="$(mtblockdev Flashdisk)";;
+ *) ffsdev="$(mtblockdev filesystem)";;
+ esac
+ umountflash "$ffsdev" &&
+ mountflash "$ffsdev" "$ffsdir" "$@"
+}
+
+#
+# check_rootfs [-i] <root fs directory>
+# Make sure the candidate rootfs is empty
+# Environment: rootdev=device or NFS root path
+check_rootfs() {
+ local fcount
+
+ case "$1" in
+ -i) shift
+ case "$force" in
+ -f) return 0;;
+ esac
+
+ fcount="$(find "$1" ! -type d -print | wc -l)"
+ test "$fcount" -eq 0 && return 0
+
+ echo "turnup: $rootdev: partition contains existing files, specify -f to overwrite" >&2
+ return 1;;
+ *) checkmount "$1" && return 0
+
+ echo "turnup: $rootdev: partition does not seem to be a valid root partition" >&2
+ echo " The partition must contain a full operating system. To ensure that" >&2
+ echo " this is the case it is checked for the following, all of which must" >&2
+ echo " exist for the bootstrap to work:" >&2
+ echo
+ echo " 1) A directory /mnt." >&2
+ echo " 2) A command line interpreter program in /bin/sh." >&2
+ echo " 3) The program chroot in /sbin or /usr/sbin." >&2
+ echo " 4) The program init in /sbin, /etc or /bin." >&2
+ echo
+ echo " One or more of these items is missing. Mount $rootdev on /mnt" >&2
+ echo " and examine its contents. You can use turnup disk|nfs -i -f" >&2
+ echo " to copy this operating system onto the disk, but it may overwrite" >&2
+ echo " files on the disk." >&2
+ return 1;;
+ esac
+}
+
+#
+# copy_rootfs old new
+# Make a copy of the given root file system, copying only the
+# directories needed. The root must be the flash file system
+copy_rootfs() {
+ local old new
+ old="$1"
+ new="$2"
+ test -d "$old" -a -d "$new" || {
+ echo "turnup: rootfs: copy $old $new: not a directory" >&2
+ return 1
+ }
+ #
+ # There are no problem file names in the flash file system, so
+ # it is possible to use -print, not -print0. The following
+ # files and directories are not copied:
+ #
+ # /dev/*
+ # /boot, /boot/*
+ # /linuxrc*
+ # /var/*
+ echo "turnup: copying root file system" >&2
+ ( cd "$1"
+ find . -mount -print |
+ sed '\@^./dev/@d;\@^./boot/@d;\@^./boot$@d;\@^./linuxrc@d;\@^./var/@d' |
+ cpio -p -d -m -u "$2"
+ ) || {
+ echo "turnup: rootfs: cpio $old $new failed" >&2
+ return 1
+ }
+ echo "done" >&2
+}
+
+#
+# setup_dev new device_table
+# In flash file systems /dev is in ramfs, in disk systems /dev
+# can be populated permanently. This is done by creating a
+# single entry '.noram' in /dev - the devices init script will
+# then populate the directory without overmounting it. The
+# devices in the passed in device table are also created, but
+# note that this is insufficient, /etc/init.d/devices must
+# also run.
+setup_dev() {
+ test -n "$1" -a -d "$1"/dev -a -r "$2" || {
+ echo "turnup: setup_dev($1,$2): expected a directory and a file" >&2
+ return 1
+ }
+ echo "turnup: initialising dev file system" >&2
+ # init tries to open the following devices:
+ # /dev/console
+ # /dev/tty0
+ # /dev/null
+ # syslog, and maybe other things, only work if fd 1 is valid, therefore
+ # we must create these devices here...
+ makedevs --root="$1" --devtable="$2"
+ :>"$1"/dev/.noram
+ return 0
+}
+
+#
+# setup_bootdev new device_table
+# As above but actually uses the supplied device table - this is possible if
+# the table is just used for boot because the extra setup is not required.
+setup_bootdev() {
+ test -n "$1" -a -d "$1"/dev -a -r "$2" || {
+ echo "turnup: setup_bootdev($1,$2): expected a directory and a file" >&2
+ return 1
+ }
+ # NOTE: this fails silently with 0 return code(!) when a directory
+ # does not exist yet things are created within it.
+ makedevs -r "$1" -D "$2"
+}
+
+#
+# setup_var new type
+# Populates /var.
+# Removes the /var tmpfs entry from /etc/fstab.
+# Creates links from /var into /media/ram for NFS and Memstick.
+setup_var() {
+ local ram_targets directory
+
+ test -n "$1" -a -d "$1"/var || {
+ echo "turnup: setup_var($1,$2): expected a directory" >&2
+ return 1
+ }
+ case "$2" in
+ disk|nfs|memstick);;
+ *) echo "turnup: setup_var($1,$2): expected 'disk', 'nfs' or 'memstick'" >&2
+ return 1;;
+ esac
+ #
+ # populate /var, there is a shell script to do this, but it uses
+ # absolute path names
+ chroot "$1" /bin/busybox sh /etc/init.d/populate-volatile.sh || {
+ echo "turnup: /var: could not populate directory" >&2
+ return 1
+ }
+
+ case "$2" in
+ disk) ram_targets="$INRAM_DISK";;
+ nfs) ram_targets="$INRAM_NFS";;
+ memstick)
+ ram_targets="$INRAM_MEMSTICK";;
+ esac
+
+ for directory in $ram_targets
+ do
+ rm -rf "$1/$directory"
+ ln -s "/media/ram/$directory" "$1/$directory"
+ done
+ # the startup link is left for the moment, this seems safer
+ #rm "$1"/etc/rc?.d/[KS]??populate-var.sh
+ # remove the /var tmpfs entry from the new /etc/fstab
+ sed -i '\@[ ]/var[ ][ ]*tmpfs[ ]@d' "$1"/etc/fstab
+ echo "turnup: tmpfs will no longer be mounted on /var" >&2
+ #
+ # Previous versions of turnup removed populate-var.sh from the
+ # startup links, this one doesn't, so /var can be made back into
+ # a tmpfs just by a change to /etc/fstab.
+ return 0
+}
+
+#
+# setup_syslog new
+# Moves the syslog to a file - appropriate for disk and nfs types, not
+# otherwise.
+setup_syslog() {
+ test -n "$1" -a -d "$1"/etc || {
+ echo "turnup: setup_syslog($1): expected a directory" >&2
+ return 1
+ }
+ #
+ # if the syslog is to the buffer redirect it to a file
+ if egrep -q '^DESTINATION="buffer"' "$1"/etc/syslog.conf
+ then
+ if cp "$1"/etc/syslog.conf "$1"/etc/syslog.conf.sav
+ then
+ # the busybox syslog will fail with ROTATESIZE and ROTATEGENS
+ sed -i 's!DESTINATION="buffer"!DESTINATION="file"!
+ /^ROTATESIZE=/d
+ /^ROTATEGENS=/d' "$1"/etc/syslog.conf
+ echo "turnup: /etc/syslog.conf: changed to file buffering" >&2
+ echo " Old (buffer) version in /etc/syslog.conf.sav" >&2
+ echo " Log messages will be in /var/log/messages" >&2
+ else
+ echo "turnup: /etc/syslog.conf: failed to make a copy" >&2
+ echo " syslog will log to a buffer" >&2
+ fi
+ fi
+ return 0
+}
+
+#
+# setup_rootfs type new device_table
+# Populates the /dev and /var directories, alters the startup to
+# not mount or populate them further. Does the right thing according
+# to the given $type
+setup_rootfs() {
+ local type new table
+ type="$1"
+ new="$2"
+ table="$3"
+
+ test -n "$new" -a -d "$new" -a -f "$table" || {
+ echo "turnup: setup_rootfs($type,$new,$table): expected a directory and a file" >&2
+ return 1
+ }
+
+ case "$type" in
+ flash) return 0;;
+ disk) setup_dev "$new" "$table" &&
+ setup_var "$new" "$type" &&
+ setup_syslog "$new";;
+ memstick)
+ setup_bootdev "$new" "$table" &&
+ setup_var "$new" "$type" ;;
+ nfs) setup_dev "$new" "$table" &&
+ setup_var "$new" "$type" &&
+ setup_syslog "$new";;
+ *) echo "turnup: setup_rootfs: $type: unknown rootfs type" >&2
+ return 1;;
+ esac
+ # return code of last setup function
+}
+
+#
+# setup_fstab new fsdev fstype fsoptions
+# Alters the /etc/fstab entry for / to refer to the correct device and
+# have the correct type and options. Essential for checkroot to remount
+# / with the correct options. Writes the initial uuid file.
+# bad, since sed won't fail even if it changes nothing.
+setup_fstab() {
+ sed -i '\@^[^ ]*[ ][ ]*/[ ]@s@^.*$@'"$2 / $3 $4 1 1"'@' "$1"/etc/fstab
+ egrep -q "^$2 / $3 $4 1 1\$" "$1"/etc/fstab || {
+ echo "turnup: /etc/fstab: root(/) entry not changed" >&2
+ echo " you probably need to check the options in /etc/fstab" >&2
+ echo " to ensure that the root partition is mounted correctly" >&2
+ return 1
+ }
+ #
+ # build $pfile
+ uuid_by_partition >"$1""$pfile" ||
+ echo "turnup: $pfile: blkid failed (ignored)" >&2
+ return 0
+}
+
+#
+# boot_rootfs <boot type> <flash file system> <sleep time> (<device> <uuid>|<nfsroot>) [options]
+# Change the flash partition (not the current root!) to boot off
+# the new root file system
+boot_rootfs() {
+ local type ffs sleep device uuid opt
+
+ type="$1"
+ ffs="$2"
+ sleep="$3"
+ device="$4"
+ uuid=
+
+ # test this first as the test does not depend on the correctness
+ # of the other arguments
+ test -n "$ffs" -a -d "$ffs" || {
+ echo "turnup: boot_rootfs($type, $ffs, $device): expected directory" >&2
+ return 1
+ }
+ test -x "$ffs"/boot/"$type" || {
+ echo "turnup: boot_rootfs($type, $ffs, $device): invalid boot type $type" >&2
+ return 1
+ }
+ shift
+ shift
+
+ case "$type" in
+ disk) test -n "$device" -a -b "$device" || {
+ echo "turnup: boot_rootfs($ffs, $type, $device): expected block device" >&2
+ return 1
+ }
+ uuid="$3"
+ shift 3;;
+ nfs) shift 2;;
+ flash) ;;
+ ram) ;;
+ *) echo "turnup: boot_rootfs($type, $ffs, $device): unknown type" >&2
+ return 1;;
+ esac
+
+ #
+ # The /linuxrc records the correct options to mount the device,
+ # since we have already mounted if correctly with these options
+ # we can be sure (maybe) that the boot will work. If not /boot/disk
+ # falls back to flash.
+ #
+ # This modifies the boot process, until this point no harm has been
+ # done to the system, but at this point the boot rootfs will change
+ rm -f "$ffs"/linuxrc.new || {
+ echo "turnup: boot_rootfs: failed to remove $ffs/linuxrc.new" >&2
+ return 1
+ }
+ case "$type" in
+ flash) ln -s "boot/flash" "$ffs"/linuxrc.new || {
+ echo "turnup: boot_rootfs: failed to create $ffs/linuxrc.new" >&2
+ return 1
+ };;
+ ram) { echo '#!/bin/sh'
+ echo 'rm -f /linuxrc.new'
+ echo 'ln -s boot/flash /linuxrc.new'
+ echo 'mv /linuxrc.new /linuxrc'
+ echo 'exec /boot/ram /dev/ram0'
+ echo 'exec /boot/flash'
+ } >"$ffs"/linuxrc.new &&
+ chmod 744 "$ffs"/linuxrc.new || {
+ echo "turnup: boot_rootfs: failed to write $ffs/linuxrc.new" >&2
+ return 1
+ };;
+ *) { echo '#!/bin/sh'
+ test "$sleep" -gt 0 && echo -n "sleep='$sleep' "
+ test -n "$uuid" && echo -n "UUID='$uuid' "
+ echo -n "exec '/boot/$type' '$device'"
+ for opt in "$@"
+ do
+ echo -n " '$opt'"
+ done
+ echo
+ echo 'exec /boot/flash'
+ } >"$ffs"/linuxrc.new &&
+ chmod 744 "$ffs"/linuxrc.new || {
+ echo "turnup: boot_rootfs: failed to write $ffs/linuxrc.new" >&2
+ return 1
+ };;
+ esac
+ rm -f "$ffs"/linuxrc.sav || {
+ echo "turnup: boot_rootfs: failed to remove $ffs/linuxrc.sav" >&2
+ return 1
+ }
+ ln "$ffs"/linuxrc "$ffs"/linuxrc.sav || {
+ echo "turnup: boot_rootfs: failed to save /linuxrc.sav" >&2
+ return 1
+ }
+ mv -f "$ffs"/linuxrc.new "$ffs"/linuxrc || {
+ echo "turnup: boot_rootfs: failed to install new /linuxrc" >&2
+ return 1
+ }
+ return 0
+}
+
+#
+# disk [-m] [-i] [-s<time>] <device> {options}
+# Carefully copy the flash file system to the named device.
+disk() {
+ local setup_type sleep init device uuid new ffs fst fso
+
+ setup_type=disk
+ sleep=0
+ init=
+ while test $# -gt 0
+ do
+ case "$1" in
+ -f) force="$1"
+ shift;;
+ -m) setup_type=memstick
+ shift;;
+ -i) init="$1"
+ shift;;
+ -s*) sleep="${1#-s}"
+ sleep="${sleep:-10}"
+ shift;;
+ *) break;;
+ esac
+ done
+
+ device="$1"
+ test -n "$device" -a -b "$device" || {
+ echo "turnup disk: $device: block device required" >&2
+ return 1
+ }
+ shift
+
+ # find the uuid if available
+ uuid="$(blkid -c /dev/null -s UUID -o value "$device")"
+ # XXX nasty hack - using the UUID fails on storcenter, for now,
+ # probably due to various devfs problems. fix later.
+ if [ $(machine) = storcenter ]; then
+ uuid=
+ fi
+
+ # make temporary directories for the mount points
+ new="/tmp/rootfs.$$"
+ ffs="/tmp/flashdisk.$$"
+ mkdir "$new" "$ffs" || {
+ echo "turnup: disk: failed to create temporary directories" >&2
+ return 1
+ }
+
+ # make sure we can get to the flash file system first
+ get_flash "$ffs" || {
+ rmdir "$new" "$ffs"
+ return 1
+ }
+
+ # Now mount the device with the given options, note that specifying
+ # read only is *not* an option, this is important because the boot/disk
+ # script needs a rw file system
+ status=1
+ fst=
+ fso="$(fsoptions "$@")"
+ if if test -n "$uuid"
+ then
+ mount "$@" -U "$uuid" "$new"
+ else
+ mount "$@" "$device" "$new"
+ fi
+ then
+ fst="$(fstype "$new")"
+ umount "$new" ||
+ echo "turnup disk: $device($new): umount does not seem to work" >&2
+ fi
+
+ if test -n "$fst" &&
+ if test -n "$uuid"
+ then
+ mount -t "$fst" -o "$fso" -U "$uuid" "$new"
+ else
+ mount -t "$fst" -o "$fso" "$device" "$new"
+ fi
+ then
+ if rootdev="$device" check_rootfs $init "$new" && {
+ test -z "$init" || {
+ copy_rootfs "$ffs" "$new" &&
+ setup_rootfs "$setup_type" "$new" "$ffs"/etc/device_table
+ }
+ }
+ then
+ setup_fstab "$new" "$device" "$fst" "$fso"
+ status=0
+ fi
+
+ # clean up the disk. It is worrying if this umount fails!
+ umount "$new" || test "$force" = "-f" || {
+ echo "turnup disk: $device: umount failed" >&2
+ echo " you must unmount this device cleanly yourself, then use" >&2
+ if test -z "$init"
+ then
+ echo " turnup with the -f option to boot from the device" >&2
+ else
+ echo " turnup without the -i option to boot from the device" >&2
+ fi
+ status=1
+ }
+
+ # if everything went ok boot from this disk
+ if test $status -eq 0
+ then
+ # memsticks boot like disks, so ignore the -m
+ boot_rootfs disk "$ffs" "$sleep" "$device" "$uuid" -t "$fst" -o "$fso"
+ fi
+ else
+ echo "turnup disk: $device($*): unable to mount device on $new" >&2
+ # If it worked first time
+ if test -n "$fst"
+ then
+ echo " options used: -t $fst -o $fso [error in this script]" >&2
+ test -n "$uuid" &&
+ echo " uuid: $uuid (passed with -U)" >&2
+ fi
+ fi
+
+ # clean up the flash file system
+ umount "$ffs"
+ rmdir "$new" "$ffs"
+ return $status
+}
+
+#
+# boot_reset <type>
+# Resets the boot type to flash or ram, as appropriate
+boot_reset() {
+ local ffs typ status
+
+ case "$1" in
+ flash|ram)type="$1"
+ shift;;
+ *) echo "turnup: boot_reset($1): invalid type" >&2
+ return 1;;
+ esac
+
+ ffs="/tmp/flashdisk.$$"
+ mkdir "$ffs" || {
+ echo "turnup: $1: failed to create temporary directory" >&2
+ return 1
+ }
+
+ get_flash "$ffs" || {
+ rmdir "$ffs"
+ return 1
+ }
+
+ # now try to set the /linuxrc appropriately
+ boot_rootfs "$type" "$ffs"
+ status=$?
+
+ # clean up
+ umount "$ffs"
+ rmdir "$ffs"
+ return $status
+}
+
+#
+# nfs [-i] <root partition> {options}
+# Copy the flash file system to the given NFS root partition.
+nfs() {
+ local init nfsroot new ffs
+
+ init=
+ while test $# -gt 0
+ do
+ case "$1" in
+ -i) init="$1"
+ shift;;
+ -f) force="$1"
+ shift;;
+ *) break;;
+ esac
+ done
+
+ nfsroot="$1"
+ test -n "$nfsroot" || {
+ echo "turnup nfs: $nfsroot: NFS root file system required" >&2
+ return 1
+ }
+ shift
+
+ # make temporary directories for the mount points
+ new="/tmp/rootfs.$$"
+ ffs="/tmp/flashdisk.$$"
+ mkdir "$new" "$ffs" || {
+ echo "turnup nfs: failed to create temporary directories" >&2
+ return 1
+ }
+
+ # make sure we can get to the flash file system first
+ get_flash "$ffs" || {
+ rmdir "$new" "$ffs"
+ return 1
+ }
+
+ # Now mount the device with the given options, note that specifying
+ # read only is *not* an option, this is important because the boot/disk
+ # script needs a rw file system
+ status=1
+ fst=
+ # These settings for for NFS, something better will probably have to
+ # be done to support other network file systems.
+ nfsopt="nolock,noatime,hard,intr,rsize=1024,wsize=1024"
+ fso="$(fsoptions -o "$nfsopt" "$@")"
+ if mount -o "$nfsopt" "$@" "$nfsroot" "$new"
+ then
+ fst="$(fstype "$new")"
+ umount "$new" ||
+ echo "turnup nfs: $nfsroot($new): umount does not seem to work" >&2
+ fi
+
+ if test -n "$fst" && mount -t "$fst" -o "$fso" "$nfsroot" "$new"
+ then
+ if :>"$new"/ttt && test -O "$new"/ttt && rm "$new"/ttt
+ then
+ if rootdev="$nfsroot" check_rootfs $init "$new" && {
+ test -z "$init" || {
+ copy_rootfs "$ffs" "$new" &&
+ setup_rootfs nfs "$new" "$ffs"/etc/device_table
+ }
+ }
+ then
+ setup_fstab "$new" "$nfsroot" "$fst" "$fso"
+ status=0
+ fi
+ else
+ echo "turnup nfs: $nfsroot: partition must be exported no_root_squash" >&2
+ fi
+
+ # clean up the disk. It is worrying if this umount fails!
+ umount "$new" || test "$force" = "-f" || {
+ echo "turnup nfs: $nfsroot: umount failed" >&2
+ if test $status -eq 0
+ then
+ echo " you must unmount this partition cleanly yourself, then use" >&2
+ if test -z "$init"
+ then
+ echo " turnup with the -f option to boot from the NFS root" >&2
+ else
+ echo " turnup without the -i option to boot from the NFS root" >&2
+ fi
+ status=1
+ fi
+ }
+
+ # if everything went ok boot from this disk
+ if test $status -eq 0
+ then
+ # the options used are exactly those which worked before.
+ boot_rootfs nfs "$ffs" 0 "$nfsroot" -t nfs -o "$fso"
+ fi
+ else
+ echo "turnup nfs: $nfsroot($*): unable to mount device on $new" >&2
+ # If it worked first time
+ if test -n "$fst"
+ then
+ echo " options obtained: -t $fst -o $fso" >&2
+ fi
+ fi
+
+ # clean up the flash file system
+ umount "$ffs"
+ rmdir "$new" "$ffs"
+ return $status
+}
+
+#
+# read_one 'prompt' 'group' 'name'
+# read a single value
+read_one() {
+ local n o
+ o="$(sysval "$2" "$3")"
+ echo -n "$1 [$o]: " >/dev/tty
+ read n </dev/tty
+ test -z "$n" && n="$o"
+ eval "$3='$n'"
+}
+
+#
+# init_network
+# Change the network initialisation
+init_network() {
+ # fix the root password
+ echo "Please enter a new password for 'root'." >/dev/tty
+ echo "The password must be non-empty for ssh login to succeed!" >/dev/tty
+ passwd
+ # now the network configuration
+ read_one "Host name" network disk_server_name
+ read_one "Domain name" network w_d_name
+ read_one "Boot protocol (dhcp|static)" network bootproto
+ case "$bootproto" in
+ static) read_one "IP address" network ip_addr
+ read_one "IP netmask" network netmask
+ read_one "IP gateway" network gateway
+ read_one "First DNS server" network dns_server1
+ read_one "Second DNS server" network dns_server2
+ read_one "Third DNS server" network dns_server3
+ echo "$ip_addr $disk_server_name" >> /etc/hosts
+ ;;
+ dhcp) sed -i -e "s/localhost\$/localhost $disk_server_name/" /etc/hosts
+ ;;
+ *) bootproto=dhcp;;
+ esac
+ #
+ # The other stuff which cannot be changed
+ hw_addr="$(config mac)"
+ lan_interface="$(config iface)"
+ #
+ # Write this out to a new sysconf
+ { echo "[network]"
+ echo "hw_addr=$hw_addr"
+ echo "lan_interface=$lan_interface"
+ test -n "$disk_server_name" && echo "disk_server_name=$disk_server_name"
+ test -n "$w_d_name" && echo "w_d_name=$w_d_name"
+ echo "bootproto=$bootproto"
+ case "$bootproto" in
+ static) echo "ip_addr=$ip_addr"
+ test -n "$netmask" && echo "netmask=$netmask"
+ test -n "$gateway" && echo "gateway=$gateway"
+ test -n "$dns_server1" && echo "dns_server1=$dns_server1"
+ test -n "$dns_server2" && echo "dns_server2=$dns_server2"
+ test -n "$dns_server3" && echo "dns_server3=$dns_server3"
+ ;;
+ esac
+ } >/etc/default/sysconf
+ #
+ # And reload the result
+ sysconf reload
+ #
+ # The remove the spurious 'init' motd
+ rm /etc/motd
+}
+
+#
+# Basic command switch (this should be the only thing in this
+# script which actually does anything!)
+case "$1" in
+init) shift
+ if init_network "$@"
+ then
+ echo "turnup init: you must reboot for the changes to take effect" >&2
+ echo " You may want to run 'turnup preserve' to save these settings," >&2
+ echo " after making any additional configuration changes which you" >&2
+ echo " require." >&2
+ else
+ exit 1
+ fi;;
+disk) shift
+ disk "$@";;
+memstick)
+ shift
+ disk -m "$@" -o noatime;;
+nfs) shift
+ nfs "$@";;
+flash) boot_reset flash;;
+ram) boot_reset ram;;
+preserve)
+ shift
+ sysconf save "$@";;
+restore)
+ shift
+ sysconf restore "$@";;
+*) echo "\
+usage: turnup command [options]
+ commands:
+ help
+ output this help
+ init
+ correct errors in network information
+ initialise network information when DHCP is not available
+ change network information
+ disk [-i] [-s<seconds>] <device>|<uuid> [mount options]
+ With -i make <device> a bootable file system then (with or
+ without -i) arrange for the next reboot to use that device.
+ The device must already be formatted as a file system, with
+ -i it must be completely empty, without it must contain an
+ apparently bootable file system. -s (for example -s5)
+ specifies a delay in seconds to wait at boot time before
+ mounting the device.
+ memstick [-i] <device>|<uuid> [mount options]
+ Behaves as disk however options appropriate to a flash memory
+ stick are automatically added
+ nfs [-i] <nfs mount path> [mount options]
+ <nfs mount path> must be a mountable NFS file system. With
+ -i the partition must be empty and is initialised with a
+ bootable file system. Without -i the partition must already
+ contain a bootable file system. In either case the NFS
+ partition must be available to be mounted without root id
+ sqashing (i.e. root must be root) and it will be selected
+ as the root file system for subsequent reboots.
+ A default set of -o options are provided, additional options
+ may be given on the command line (multiple -o options will
+ be combined into a single -o).
+ flash
+ Revert to booting from the flash disk on next reboot.
+ ram
+ Boot (once) into a ramdisk, subsequent boots will be to
+ the flash file system.
+ preserve
+ Save the system configuration to the SysConf partition, you
+ will need to create the SysConf partition from the boot loader
+ before using this if SysConf does not already exist. This
+ just runs 'sysconf save'.
+ restore
+ Restore a previously saved system configuration. This just
+ runs 'sysconf restore'.
+ disk formatting:
+ The argument to 'nfs' or 'disk' must be an empty partition
+ of sufficient size to hold the root file system (at least
+ 16MByte but more is recommended to allow package installation).
+ An appropriate ext3 partition can be made using the command:
+
+ mke2fs -j <device> # for example: /dev/sda1
+
+ An appropriate NFS partition can be emptied using 'rm', but
+ must be set up (exported) on the NFS server." >&2
+ exit 0;;
+esac
+# Exit with return code from command.
diff --git a/packages/foonas-init/foonas-init_0.10.bb b/packages/foonas-init/foonas-init_0.10.bb
new file mode 100644
index 0000000000..80166793a5
--- /dev/null
+++ b/packages/foonas-init/foonas-init_0.10.bb
@@ -0,0 +1,144 @@
+DESCRIPTION = "FooNAS initial boot and config"
+SECTION = "base"
+PRIORITY = "required"
+LICENSE = "GPL"
+DEPENDS = "base-files devio"
+RDEPENDS = "busybox devio"
+PR = "r0"
+
+SRC_URI = "file://boot/flash \
+ file://boot/disk \
+ file://boot/nfs \
+ file://boot/network \
+ file://boot/udhcpc.script \
+ file://initscripts/fixfstab \
+ file://initscripts/syslog.buffer \
+ file://initscripts/syslog.file \
+ file://initscripts/syslog.network \
+ file://initscripts/rmrecovery \
+ file://initscripts/sysconfsetup \
+ file://initscripts/umountinitrd.sh \
+ file://initscripts/loadmodules.sh \
+ file://functions \
+ file://modulefunctions \
+ file://conffiles \
+ file://sysconf \
+ file://turnup \
+ file://reflash \
+ file://links.conf \
+ "
+
+SBINPROGS = ""
+USRSBINPROGS = ""
+CPROGS = "${USRSBINPROGS} ${SBINPROGS}"
+SCRIPTS = "turnup reflash sysconf"
+BOOTSCRIPTS = "flash disk nfs network udhcpc.script"
+INITSCRIPTS = "syslog.buffer syslog.file syslog.network \
+ rmrecovery sysconfsetup umountinitrd.sh \
+ fixfstab loadmodules.sh"
+
+# This just makes things easier...
+
+S="${WORKDIR}"
+
+do_compile() {
+ set -ex
+ for p in ${CPROGS}
+ do
+ ${CC} ${CFLAGS} -o $p $p.c
+ done
+ set +ex
+}
+
+do_install() {
+ set -ex
+
+ # Directories
+ install -d ${D}${sysconfdir} \
+ ${D}${sysconfdir}/default \
+ ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/modutils \
+ ${D}${sysconfdir}/udev \
+ ${D}${sbindir} \
+ ${D}${base_sbindir} \
+ ${D}/initrd \
+ ${D}/boot
+
+ # linuxrc
+ rm -f ${D}/linuxrc
+ ln -s boot/flash ${D}/linuxrc
+
+ # C programs
+ for p in ${USRSBINPROGS}
+ do
+ install -m 0755 $p ${D}${sbindir}/$p
+ done
+ for p in ${SBINPROGS}
+ do
+ install -m 0755 $p ${D}${base_sbindir}/$p
+ done
+
+ # Shell scripts
+ for p in ${SCRIPTS}
+ do
+ install -m 0755 $p ${D}${base_sbindir}/$p
+ done
+
+ #
+ # Init scripts
+ install -m 0644 functions ${D}${sysconfdir}/default
+ install -m 0644 modulefunctions ${D}${sysconfdir}/default
+ for s in ${INITSCRIPTS}
+ do
+ install -m 0755 initscripts/$s ${D}${sysconfdir}/init.d/
+ done
+
+ #
+ # Udev configuration files
+ install -m 0644 links.conf ${D}${sysconfdir}/udev
+
+ #
+ # Boot scripts
+ for p in ${BOOTSCRIPTS}
+ do
+ install -m 0755 boot/$p ${D}/boot
+ done
+
+ # Configuration files
+ install -m 0644 conffiles ${D}${sysconfdir}/default
+
+ set +ex
+}
+
+# NB: do not use '08' (etc) for the first argument after start/stop,
+# the value is interpreted as an octal number if there is a leading
+# zero.
+pkg_postinst_foonas-init() {
+ opt=
+ test -n "$D" && opt="-r $D"
+ update-rc.d $opt hwclock.sh start 8 S . start 45 0 6 .
+ update-rc.d $opt umountinitrd.sh start 9 S .
+ update-rc.d $opt fixfstab start 10 S .
+ update-rc.d $opt syslog.buffer start 11 S . start 49 0 6 .
+ update-rc.d $opt sysconfsetup start 12 S .
+ update-rc.d $opt loadmodules.sh start 21 S .
+ update-rc.d $opt syslog.file start 39 S . start 47 0 6 .
+ update-rc.d $opt syslog.network start 44 S . start 39 0 6 .
+ update-rc.d $opt rmrecovery start 99 1 2 3 4 5 .
+}
+
+pkg_postrm_foonas-init() {
+ opt=
+ test -n "$D" && opt="-r $D"
+ for s in ${INITSCRIPTS}
+ do
+ update-rc.d $opt "$s" remove
+ done
+}
+
+PACKAGES = "${PN}"
+FILES_${PN} = "/"
+
+# It is bad to overwrite /linuxrc as it puts the system back to
+# a flash boot (and the flash has potentially not been upgraded!)
+CONFFILES_${PN} = "/linuxrc ${sysconfdir}/default/conffiles"
diff --git a/packages/fuse/fuse-2.6.3/.mtn2git_empty b/packages/fuse/fuse-2.6.3/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/fuse/fuse-2.6.3/.mtn2git_empty
diff --git a/packages/fuse/fuse-2.6.3/not-run-updaterc.d-on-host.patch b/packages/fuse/fuse-2.6.3/not-run-updaterc.d-on-host.patch
new file mode 100644
index 0000000000..2496b77f70
--- /dev/null
+++ b/packages/fuse/fuse-2.6.3/not-run-updaterc.d-on-host.patch
@@ -0,0 +1,21 @@
+--- fuse-2.6.3/util/Makefile.am~ 2007-02-27 22:50:15.000000000 -0600
++++ fuse-2.6.3/util/Makefile.am 2007-02-27 22:53:31.000000000 -0600
+@@ -29,10 +29,6 @@
+ $(INSTALL_PROGRAM) $(srcdir)/mount.fuse $(DESTDIR)$(MOUNT_FUSE_PATH)/mount.fuse
+ $(mkdir_p) $(DESTDIR)$(INIT_D_PATH)
+ $(INSTALL_PROGRAM) $(srcdir)/init_script $(DESTDIR)$(INIT_D_PATH)/fuse
+- @if test -x /usr/sbin/update-rc.d; then \
+- echo "/usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 . || true"; \
+- /usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 . || true; \
+- fi
+
+ install-data-local:
+ $(mkdir_p) $(DESTDIR)$(UDEV_RULES_PATH)
+@@ -42,7 +38,3 @@
+ rm -f $(DESTDIR)$(MOUNT_FUSE_PATH)/mount.fuse
+ rm -f $(DESTDIR)$(UDEV_RULES_PATH)/99-fuse.rules
+ rm -f $(DESTDIR)$(INIT_D_PATH)/fuse
+- @if test -x /usr/sbin/update-rc.d; then \
+- echo "/usr/sbin/update-rc.d fuse remove || true"; \
+- /usr/sbin/update-rc.d fuse remove || true; \
+- fi
diff --git a/packages/fuse/fuse_2.6.3.bb b/packages/fuse/fuse_2.6.3.bb
new file mode 100644
index 0000000000..f85860f175
--- /dev/null
+++ b/packages/fuse/fuse_2.6.3.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "With FUSE it is possible to implement a fully functional filesystem in a userspace program"
+HOMEPAGE = "http://fuse.sf.net"
+LICENSE = "GPL"
+DEPENDS = "fakeroot-native"
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/${P}.tar.gz \
+ file://not-run-updaterc.d-on-host.patch;patch=1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " --disable-kernel-module"
+
+fakeroot do_stage() {
+ autotools_stage_all
+}
+
+# Package the fuse utils and libs in seperate packages
+PACKAGES += "lib${PN} libulockmgr"
+FILES_${PN}-dev += "${libdir}/*.la"
+FILES_lib${PN} = "${libdir}/libfuse*.so.*"
+FILES_libulockmgr = "${libdir}/libulockmgr.so.*"
diff --git a/packages/glib-2.0/glib-2.0-2.12.10/.mtn2git_empty b/packages/glib-2.0/glib-2.0-2.12.10/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/glib-2.0/glib-2.0-2.12.10/.mtn2git_empty
diff --git a/packages/glib-2.0/glib-2.0-2.12.10/configure-libtool.patch b/packages/glib-2.0/glib-2.0-2.12.10/configure-libtool.patch
new file mode 100644
index 0000000000..50ffc628db
--- /dev/null
+++ b/packages/glib-2.0/glib-2.0-2.12.10/configure-libtool.patch
@@ -0,0 +1,20 @@
+--- /tmp/configure.in 2007-02-04 12:07:05.000000000 +0100
++++ glib-2.12.9/configure.in 2007-02-04 12:08:04.655251000 +0100
+@@ -1174,7 +1174,7 @@
+ G_MODULE_LDFLAGS=
+ else
+ export SED
+- G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++ G_MODULE_LDFLAGS=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ fi
+ dnl G_MODULE_IMPL= don't reset, so cmd-line can override
+ G_MODULE_NEED_USCORE=0
+@@ -1239,7 +1239,7 @@
+ LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
+ dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
+ echo "void glib_plugin_test(void) { }" > plugin.c
+- ${SHELL} ./libtool --mode=compile ${CC} -shared \
++ ${SHELL} ./$host_alias-libtool --mode=compile ${CC} -shared \
+ -export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
+ AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
+ glib_cv_rtldglobal_broken,[
diff --git a/packages/glib-2.0/glib-2.0_2.12.10.bb b/packages/glib-2.0/glib-2.0_2.12.10.bb
new file mode 100644
index 0000000000..4d8e59b355
--- /dev/null
+++ b/packages/glib-2.0/glib-2.0_2.12.10.bb
@@ -0,0 +1,6 @@
+require glib.inc
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.12/glib-${PV}.tar.bz2 \
+ file://glibconfig-sysdefs.h \
+ file://configure-libtool.patch;patch=1"
+
diff --git a/packages/gnome/goffice_0.3.2.bb b/packages/gnome/goffice_0.3.2.bb
index 90586ffbd6..59503a7b43 100644
--- a/packages/gnome/goffice_0.3.2.bb
+++ b/packages/gnome/goffice_0.3.2.bb
@@ -6,6 +6,8 @@ DEFAULT_PREFERENCE = "-1"
DEPENDS="glib-2.0 gtk+ pango cairo libgnomeprint libgsf libglade libxml2 libart-lgpl"
+FILES_${PN}-dbg += "${libdir}/goffice/0.2.1/plugins/*/.debug"
+
inherit gnome pkgconfig
do_stage() {
diff --git a/packages/gnumeric/gnumeric_1.6.3.bb b/packages/gnumeric/gnumeric_1.6.3.bb
index c41b971530..9c757fb7ff 100644
--- a/packages/gnumeric/gnumeric_1.6.3.bb
+++ b/packages/gnumeric/gnumeric_1.6.3.bb
@@ -4,6 +4,8 @@ S = "${WORKDIR}/gnumeric-${PV}"
DEPENDS = "libgsf gtk+ libxml2 goffice libglade libart-lgpl intltool-native libgnomecanvas libgnomeprint libgnomeprintui libbonoboui"
DESCRIPTION = "Gnumeric spreadsheet for GNOME"
+PR = "r1"
+
inherit gnome flow-lossage
SRC_URI += "file://remove-docs.patch;patch=1"
@@ -12,6 +14,7 @@ EXTRA_OECONF=" --without-perl "
PACKAGES_DYNAMIC = "gnumeric-plugin-*"
+FILES_${PN}-dbg += "${libdir}/gnumeric/1.6.3/plugins/*/.debug"
FILES_gnumeric_append = " /usr/lib/libspreadsheet-${PV}.so "
python populate_packages_prepend () {
diff --git a/packages/gpe-ownerinfo/gpe-ownerinfo/compile.patch b/packages/gpe-ownerinfo/gpe-ownerinfo/compile.patch
new file mode 100644
index 0000000000..3406481d66
--- /dev/null
+++ b/packages/gpe-ownerinfo/gpe-ownerinfo/compile.patch
@@ -0,0 +1,13 @@
+Index: gpe-ownerinfo-0.28/Makefile
+===================================================================
+--- gpe-ownerinfo-0.28.orig/Makefile
++++ gpe-ownerinfo-0.28/Makefile
+@@ -40,7 +40,7 @@ all: $(PACKAGE) all-mo
+
+ $(LIB_TARGET): $(LIB_OBJS)
+ rm -f $@
+- ar cq $@ $^
++ $(AR) cq $@ $^
+
+ $(PACKAGE): $(OBJS) $(LIB_TARGET)
+ $(CC) -o $@ $^ $(LDFLAGS) $(PACKAGE_LDFLAGS) -L. -lgpe-ownerinfo
diff --git a/packages/gpe-ownerinfo/gpe-ownerinfo_0.28.bb b/packages/gpe-ownerinfo/gpe-ownerinfo_0.28.bb
index f04b9c19be..e17c6a6798 100644
--- a/packages/gpe-ownerinfo/gpe-ownerinfo_0.28.bb
+++ b/packages/gpe-ownerinfo/gpe-ownerinfo_0.28.bb
@@ -5,7 +5,9 @@ SECTION = "gpe"
PRIORITY = "optional"
DEPENDS = "gtk+ libgpewidget"
LICENSE = "GPL"
-PR = "r0"
+PR = "r1"
+
+SRC_URI += "file://compile.patch;patch=1"
do_stage () {
oe_libinstall -a libgpe-ownerinfo ${STAGING_LIBDIR}
diff --git a/packages/gpe-scap/gpe-scap-1.2/.mtn2git_empty b/packages/gpe-scap/gpe-scap-1.2/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gpe-scap/gpe-scap-1.2/.mtn2git_empty
diff --git a/packages/gpe-scap/gpe-scap-1.2/deviceinfo.patch b/packages/gpe-scap/gpe-scap-1.2/deviceinfo.patch
new file mode 100644
index 0000000000..57e611d85e
--- /dev/null
+++ b/packages/gpe-scap/gpe-scap-1.2/deviceinfo.patch
@@ -0,0 +1,22 @@
+Index: src/scr-shot-common.c
+===================================================================
+--- src/scr-shot-common.c (.../base/gpe-scap/src/scr-shot-common.c) (Revision 8890)
++++ src/scr-shot-common.c (.../extra/gpe-scap/src/scr-shot-common.c) (Arbeitskopie)
+@@ -37,7 +37,7 @@
+ gchar *
+ get_device_model (void)
+ {
+- gchar *result;
++ gchar *result = NULL;
+ struct utsname uinfo;
+ gchar **strv;
+ gint i = 0;
+@@ -62,6 +62,8 @@
+ }
+ g_strfreev (strv);
+ }
++ if (result)
++ return result;
+ #ifdef __arm__
+ result = g_strdup_printf ("%s,%s",_("ARM"), uinfo.machine);
+ #endif
diff --git a/packages/gpe-scap/gpe-scap_1.2.bb b/packages/gpe-scap/gpe-scap_1.2.bb
index d53f041bbe..1fc8f9a57a 100644
--- a/packages/gpe-scap/gpe-scap_1.2.bb
+++ b/packages/gpe-scap/gpe-scap_1.2.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "GPE screenshot application"
LICENSE = "GPL"
PRIORITY = "optional"
SECTION = "gpe"
-PR = "r0"
+PR = "r1"
RREPLACES = "gpe-screenshot"
@@ -12,3 +12,4 @@ GPE_TARBALL_SUFFIX = "bz2"
inherit gpe autotools
+SRC_URI += " file://deviceinfo.patch;patch=1;pnum=0"
diff --git a/packages/gtkhtml/gtkhtml-3.8_3.8.2.bb b/packages/gtkhtml/gtkhtml-3.8_3.8.2.bb
new file mode 100644
index 0000000000..1db83609c2
--- /dev/null
+++ b/packages/gtkhtml/gtkhtml-3.8_3.8.2.bb
@@ -0,0 +1,18 @@
+LICENSE = "GPL"
+SECTION = "x11/libs"
+DESCRIPTION = "HTML rendering/editing library"
+DEPENDS = "gtk+ gail libbonoboui libgnomeprintui libgnomeui"
+
+inherit gnome
+
+SRC_URI = "${GNOME_MIRROR}/gtkhtml/3.8/gtkhtml-${PV}.tar.bz2"
+FILES_${PN} += "${datadir}/gtkhtml-3.8"
+S = "${WORKDIR}/gtkhtml-${PV}"
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+do_stage() {
+ mv src/libgtkhtml.pc src/libgtkhtml-3.8.pc || true
+ gnome_stage_includes
+ oe_libinstall -C src -so libgtkhtml-3.8 ${STAGING_LIBDIR}
+}
diff --git a/packages/images/foonas-image.bb b/packages/images/foonas-image.bb
new file mode 100644
index 0000000000..f5a258b3d9
--- /dev/null
+++ b/packages/images/foonas-image.bb
@@ -0,0 +1,95 @@
+DESCRIPTION = "Foonas image"
+LICENSE = "GPL"
+PR = "r0"
+
+DEPENDS = "${MACHINE_TASK_PROVIDER}"
+EXTRA_IMAGECMD_jffs2 = "--big-endian --eraseblock=${ERASEBLOCK_SIZE} -D ${SLUGOS_DEVICE_TABLE}"
+IMAGE_LINGUAS = ""
+
+# This is passed to the image command to build the correct /dev
+# directory (because only the image program can make actual
+# dev entries!)
+SLUGOS_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-slugos.txt')}"
+
+# IMAGE_PREPROCESS_COMMAND is run before making the image.
+# We use this to do a few things:
+# . remove the uImage, which is in a separate part of the flash already.
+# . adjust the default run level (sysvinit is 5 by default, we like 3)
+# . set a default root password, which is no more secure than a blank one
+# (since it is documented, in case you were wondering)
+# . make the boot more verbose
+#
+IMAGE_PREPROCESS_COMMAND += "sed -i -es,^id:5:initdefault:,id:3:initdefault:, ${IMAGE_ROOTFS}/etc/inittab;"
+IMAGE_PREPROCESS_COMMAND += "sed -i -es,^root::0,root:BTMzOOAQfESg6:0, ${IMAGE_ROOTFS}/etc/passwd;"
+IMAGE_PREPROCESS_COMMAND += "sed -i -es,^VERBOSE=no,VERBOSE=very, ${IMAGE_ROOTFS}/etc/default/rcS;"
+
+# Always just make a new flash image.
+PACK_IMAGE = '${MACHINE}_pack_image;'
+IMAGE_POSTPROCESS_COMMAND += "${PACK_IMAGE}"
+PACK_IMAGE_DEPENDS = ""
+#EXTRA_IMAGEDEPENDS += "${PACK_IMAGE_DEPENDS}"
+
+# These depends define native utilities - they do not get put in the flash and
+# are not required to build the image.
+IMAGE_TOOLS = ""
+#EXTRA_IMAGEDEPENDS += "${IMAGE_TOOLS}"
+
+FOONAS_SUPPORT += "diffutils cpio findutils uboot-utils udev"
+
+# this gets /lib/modules made....
+FOONAS_KERNEL = "kernel-module-ext3 kernel-module-minix \
+ kernel-module-usb-storage"
+
+RDEPENDS = " \
+ base-files base-passwd netbase \
+ busybox initscripts foonas-init \
+ update-modules sysvinit tinylogin \
+ module-init-tools-depmod modutils-initscripts \
+ ipkg-collateral ipkg ipkg-link \
+ libgcc1 \
+ portmap \
+ dropbear \
+ e2fsprogs-blkid \
+ mdadm \
+ hdparm \
+ mtd-utils \
+ udev \
+ ${FOONAS_SUPPORT} \
+ ${FOONAS_KERNEL} "
+
+PACKAGE_INSTALL = "${RDEPENDS}"
+
+inherit image
+
+# At this point you have to make a ${MACHINE}_pack_image for your machine.
+
+turbostation_pack_image() {
+ # find latest kernel
+ KERNEL=`ls -tr ${DEPLOY_DIR_IMAGE}/uImage* | tail -1`
+ if [ -z "$KERNEL" ]; then
+ oefatal "No kernel found in ${DEPLOY_DIR_IMAGE}. Bitbake linux-turbostation to create one."
+ exit 1
+ fi
+ ROOTFS=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2
+ OUTPUT=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flash.img
+ PADFILE=${DEPLOY_DIR_IMAGE}/padfile.zzz
+ HEX_MAX_KERN_SIZE=200000
+ DEC_MAX_KERN_SIZE=`echo "ibase=16; $HEX_MAX_KERN_SIZE" | bc `
+ HEX_MAX_ROOT_SIZE=C80000
+ DEC_MAX_ROOT_SIZE=`echo "ibase=16; $HEX_MAX_ROOT_SIZE" | bc `
+ KERNEL_SIZE=`ls -l $KERNEL | awk '{print $5}'`
+ if [ $KERNEL_SIZE -gt $DEC_MAX_KERN_SIZE ]; then
+ oefatal "Kernel too large at $KERNEL_SIZE bytes. Max is $DEC_MAX_KERN_SIZE."
+ exit 1
+ fi
+ ROOT_SIZE=`ls -l $ROOTFS | awk '{print $5}'`
+ if [ $ROOT_SIZE -gt $DEC_MAX_ROOT_SIZE ]; then
+ oefatal "Rootfs is too large at $ROOT_SIZE bytes. Max is $DEC_MAX_ROOT_SIZE."
+ exit 1
+ fi
+ PAD_SIZE=`echo "$DEC_MAX_KERN_SIZE - $KERNEL_SIZE" | bc `
+ dd if=/dev/zero of=$PADFILE bs=$PAD_SIZE count=1 2>>/dev/null
+ cat $KERNEL $PADFILE $ROOTFS > $OUTPUT
+ rm -f $PADFILE
+ ls -l $OUTPUT
+}
diff --git a/packages/images/openprotium-image.bb b/packages/images/openprotium-image.bb
index 472000f4f0..25d38cf1c3 100644
--- a/packages/images/openprotium-image.bb
+++ b/packages/images/openprotium-image.bb
@@ -83,7 +83,7 @@ RDEPENDS = " \
kernel base-files base-passwd netbase \
busybox initscripts-openprotium openprotium-init \
update-modules sysvinit tinylogin \
- module-init-tools modutils-initscripts \
+ module-init-tools-depmod modutils-initscripts \
ipkg-collateral ipkg ipkg-link \
libgcc1 \
portmap \
@@ -92,11 +92,6 @@ RDEPENDS = " \
mdadm \
hdparm \
mtd-utils \
- sccd \
- util-linux-mount \
- util-linux-umount \
- util-linux-swaponoff \
- util-linux-losetup \
${OPENPROTIUM_SUPPORT} \
${OPENPROTIUM_KERNEL} "
# ${SLUGOS_EXTRA_RDEPENDS}"
diff --git a/packages/initscripts/initscripts-1.0/foonas/.mtn2git_empty b/packages/initscripts/initscripts-1.0/foonas/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/initscripts/initscripts-1.0/foonas/.mtn2git_empty
diff --git a/packages/initscripts/initscripts-1.0/foonas/checkroot.sh b/packages/initscripts/initscripts-1.0/foonas/checkroot.sh
new file mode 100755
index 0000000000..c69a773482
--- /dev/null
+++ b/packages/initscripts/initscripts-1.0/foonas/checkroot.sh
@@ -0,0 +1,212 @@
+#
+# checkroot.sh Check to root filesystem.
+#
+# Version: @(#)checkroot.sh 2.84 25-Jan-2002 miquels@cistron.nl
+#
+
+. /etc/default/rcS
+
+#
+# Set SULOGIN in /etc/default/rcS to yes if you want a sulogin to be spawned
+# from this script *before anything else* with a timeout, like SCO does.
+#
+test "$SULOGIN" = yes && sulogin -t 30 $CONSOLE
+
+#
+# Ensure that bdflush (update) is running before any major I/O is
+# performed (the following fsck is a good example of such activity :).
+#
+test -x /sbin/update && update
+
+#
+# Read /etc/fstab.
+#
+exec 9>&0 </etc/fstab
+rootmode=rw
+rootopts=rw
+test "$ENABLE_ROOTFS_FSCK" = yes && rootcheck="yes" || rootcheck="no"
+swap_on_md=no
+devfs=
+while read fs mnt type opts dump pass junk
+do
+ case "$fs" in
+ ""|\#*)
+ continue;
+ ;;
+ /dev/md*)
+ # Swap on md device.
+ test "$type" = swap && swap_on_md=yes
+ ;;
+ /dev/*)
+ ;;
+ *)
+ # Might be a swapfile.
+ test "$type" = swap && swap_on_md=yes
+ ;;
+ esac
+
+ test "$type" = devfs && devfs="$fs"
+
+ # Currently we do not care about the other entries
+ if test "$mnt" = "/"
+ then
+ #echo "[$fs] [$mnt] [$type] [$opts] [$dump] [$pass] [$junk]"
+
+ rootopts="$opts"
+ roottype="$type"
+
+ #The "spinner" is broken on busybox sh
+ TERM=dumb
+
+ test "$pass" = 0 -o "$pass" = "" && rootcheck=no
+
+ # Enable fsck for ext2 and ext3 rootfs, disable for everything else
+ case "$type" in
+ ext2|ext3) rootcheck=yes;;
+ *) rootcheck=no;;
+ esac
+
+ if test "$rootcheck" = yes
+ then
+ if ! test -x "/sbin/fsck.${roottype}"
+ then
+ echo -e "\n * * * WARNING: /sbin/fsck.${roottype} is missing! * * *\n"
+ rootcheck=no
+ fi
+ fi
+
+ case "$opts" in
+ ro|ro,*|*,ro|*,ro,*)
+ rootmode=ro
+ ;;
+ esac
+ fi
+done
+exec 0>&9 9>&-
+
+#
+# Activate the swap device(s) in /etc/fstab. This needs to be done
+# before fsck, since fsck can be quite memory-hungry.
+#
+doswap=no
+test -d /proc/1 || mount -n /proc
+case "`uname -r`" in
+ 2.[0123].*)
+ if test $swap_on_md = yes && grep -qs resync /proc/mdstat
+ then
+ test "$VERBOSE" != no && echo "Not activating swap - RAID array resyncing"
+ else
+ doswap=yes
+ fi
+ ;;
+ *)
+ doswap=yes
+ ;;
+esac
+if test $doswap = yes
+then
+ test "$VERBOSE" != no && echo "Activating swap"
+ swapon -a 2> /dev/null
+fi
+
+#
+# Check the root filesystem.
+#
+if test -f /fastboot || test $rootcheck = no
+then
+ test $rootcheck = yes && echo "Fast boot, no filesystem check"
+else
+ #
+ # Ensure that root is quiescent and read-only before fsck'ing.
+ #
+ mount -n -o remount,ro /
+ if test $? = 0
+ then
+ if test -f /forcefsck
+ then
+ force="-f"
+ else
+ force=""
+ fi
+ if test "$FSCKFIX" = yes
+ then
+ fix="-y"
+ else
+ fix="-a"
+ fi
+ spinner="-C"
+ case "$TERM" in
+ dumb|network|unknown|"") spinner="" ;;
+ esac
+ test `uname -m` = s390 && spinner="" # This should go away
+ test "$VERBOSE" != no && echo "Checking root filesystem..."
+ fsck $spinner $force $fix /
+ #
+ # If there was a failure, drop into single-user mode.
+ #
+ # NOTE: "failure" is defined as exiting with a return code of
+ # 2 or larger. A return code of 1 indicates that filesystem
+ # errors were corrected but that the boot may proceed.
+ #
+
+ echo "RETURNCODE: [$RTC]"
+
+ if test "$RTC" -gt 3
+ then
+
+ # Since this script is run very early in the boot-process, it should be safe to assume that the
+ # output is printed to VT1. However, some distributions use a bootsplash to hide the "ugly" boot
+ # messages and having the bootsplash "hang" due to a waiting fsck prompt is less than ideal
+ chvt 1
+
+ # Surprise! Re-directing from a HERE document (as in
+ # "cat << EOF") won't work, because the root is read-only.
+ echo
+ echo "fsck failed. Please repair manually and reboot. "
+ echo "Please note that the root filesystem is currently "
+ echo "mounted read-only. To remount it read-write:"
+ echo
+ echo " # mount -n -o remount,rw /"
+ echo
+ echo "CONTROL-D will exit from this shell"
+ echo "and REBOOT the system."
+ echo
+ # Start a single user shell on the console
+ /sbin/sulogin $CONSOLE
+ reboot -f
+ fi
+ else
+ echo "*** ERROR! Cannot fsck root fs because it is not mounted read-only!"
+ echo
+ fi
+fi
+
+devrootfound=$(grep "/dev/root" /proc/mounts | \
+ awk '{if ($4 = /rw/) print "found";}' )
+
+if [ -n "$devrootfound" -a "$devrootfound" = "found" ]; then
+ echo "Read/write /dev/root found."
+ exit 0
+fi
+
+if mount -vf -o remount / 2> /dev/null | \
+ awk '{if ($6 ~ /rw/) exit 0; else exit 1; }' && \
+ ! touch -c / 2> /dev/null
+ then
+ echo " Remounting root filesystem read/write"
+ mount -n -o remount,$rootmode /
+fi
+
+if test "$rootmode" = rw
+then
+ if test ! -L /etc/mtab
+ then
+ rm -f /etc/mtab~ /etc/nologin
+ : > /etc/mtab
+ fi
+ mount -f -o remount /
+ mount -f /proc
+ test "$devfs" && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs"
+fi
+
+: exit 0
diff --git a/packages/initscripts/initscripts-1.0/foonas/devices b/packages/initscripts/initscripts-1.0/foonas/devices
new file mode 100755
index 0000000000..f83ea63598
--- /dev/null
+++ b/packages/initscripts/initscripts-1.0/foonas/devices
@@ -0,0 +1,70 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -e /dev/.udev -o -e /dev/.udevdb; then
+ exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+ if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+ [ -e /dev/.linksmade ] && exit 0
+
+ ln -s /dev/tts/0 /dev/ttySA0
+ ln -s /dev/tts/1 /dev/ttySA1
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/misc/rtc /dev/rtc
+
+ #
+ # some friendly disk links
+ #
+ ln -s /dev/discs/disc0/disc /dev/hda
+ ln -s /dev/discs/disc1/disc /dev/hdb
+ for i in 1 2 3 4; do
+ ln -s /dev/discs/disc0/part$i /dev/hda$i
+ ln -s /dev/discs/disc1/part$i /dev/hdb$i
+ done
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ ln -s /dev/zero /dev/.linksmade
+
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+ if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+ mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+ if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+ cd /
+ mkdir -p dev/input
+ mkdir -p dev/msys
+ mkdir -p dev/pts
+ mkdir -p dev/vc
+ mkdir -p dev/snd
+ mkdir -p dev/tts
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ ln -s /dev/tty$i /dev/vc/$i
+ done
+ ln -sf /proc/self/fd /dev/fd
+ ln -sf /proc/kcore /dev/core
+ /sbin/makedevs -r / -D /etc/device_table
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+fi
+
+exit 0
diff --git a/packages/initscripts/initscripts-1.0/foonas/domainname.sh b/packages/initscripts/initscripts-1.0/foonas/domainname.sh
new file mode 100644
index 0000000000..7113467d8c
--- /dev/null
+++ b/packages/initscripts/initscripts-1.0/foonas/domainname.sh
@@ -0,0 +1,5 @@
+#
+# domainname.sh Set the domainname.
+#
+test -r /etc/defaultdomain &&
+ cat /etc/defaultdomain >/proc/sys/kernel/domainname
diff --git a/packages/initscripts/initscripts-1.0/foonas/halt b/packages/initscripts/initscripts-1.0/foonas/halt
new file mode 100755
index 0000000000..f22d892d46
--- /dev/null
+++ b/packages/initscripts/initscripts-1.0/foonas/halt
@@ -0,0 +1,27 @@
+#! /bin/sh
+#
+# halt Execute the halt command.
+#
+# Version: @(#)halt 2.84-2 07-Jan-2002 miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# See if we need to cut the power.
+if test -x /etc/init.d/ups-monitor
+then
+ /etc/init.d/ups-monitor poweroff
+fi
+
+# Don't shut down drives if we're using RAID.
+hddown="-h"
+if grep -qs '^md.*active' /proc/mdstat
+then
+ hddown=""
+fi
+
+echo "Powering down..."
+scc -p off
+halt -d -f -i -p $hddown
+
+: exit 0
diff --git a/packages/initscripts/initscripts-1.0/foonas/reboot b/packages/initscripts/initscripts-1.0/foonas/reboot
new file mode 100755
index 0000000000..05a82be4c0
--- /dev/null
+++ b/packages/initscripts/initscripts-1.0/foonas/reboot
@@ -0,0 +1,12 @@
+#! /bin/sh
+#
+# reboot Execute the reboot command.
+#
+# Version: @(#)reboot 2.75 22-Jun-1998 miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+echo -n "Rebooting... "
+scc -p restart
+reboot -d -f -i
diff --git a/packages/iptables/files/.mtn2git_empty b/packages/iptables/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/iptables/files/.mtn2git_empty
diff --git a/packages/iptables/files/compile.patch b/packages/iptables/files/compile.patch
new file mode 100644
index 0000000000..76662d9748
--- /dev/null
+++ b/packages/iptables/files/compile.patch
@@ -0,0 +1,17 @@
+Index: iptables-1.3.3/extensions/Makefile
+===================================================================
+--- iptables-1.3.3.orig/extensions/Makefile
++++ iptables-1.3.3/extensions/Makefile
+@@ -67,10 +67,10 @@ endif
+
+ ifdef NO_SHARED_LIBS
+ extensions/libext.a: $(EXT_OBJS)
+- rm -f $@; ar crv $@ $(EXT_OBJS)
++ rm -f $@; $(AR) crv $@ $(EXT_OBJS)
+
+ extensions/libext6.a: $(EXT6_OBJS)
+- rm -f $@; ar crv $@ $(EXT6_OBJS)
++ rm -f $@; $(AR) crv $@ $(EXT6_OBJS)
+
+ extensions/initext.o: extensions/initext.c
+ extensions/initext6.o: extensions/initext6.c
diff --git a/packages/iptables/iptables_1.2.9.bb b/packages/iptables/iptables_1.2.9.bb
index fe43ff488e..213802d17f 100644
--- a/packages/iptables/iptables_1.2.9.bb
+++ b/packages/iptables/iptables_1.2.9.bb
@@ -1,9 +1,10 @@
SECTION = "console/network"
DESCRIPTION = "iptables network filtering tools"
LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
-SRC_URI = "http://www.netfilter.org/files/iptables-${PV}.tar.bz2"
+SRC_URI = "http://www.netfilter.org/files/iptables-${PV}.tar.bz2 \
+ file://compile.patch;patch=1"
S = "${WORKDIR}/iptables-${PV}"
diff --git a/packages/iptables/iptables_1.3.3.bb b/packages/iptables/iptables_1.3.3.bb
index 4c500ad5b1..5f19d45317 100644
--- a/packages/iptables/iptables_1.3.3.bb
+++ b/packages/iptables/iptables_1.3.3.bb
@@ -3,14 +3,15 @@ HOMEPAGE = "http://www.netfilter.org/"
SECTION = "console/utils"
LICENSE = "GPL"
RRECOMMENDS = "kernel-module-ip-tables kernel-module-iptable-filter"
-PR = "r3"
+PR = "r4"
PACKAGES =+ "${PN}-utils"
FILES_${PN}-utils = "${sbindir}/iptables-save ${sbindir}/iptables-restore"
-SRC_URI = "http://www.netfilter.org/files/iptables-${PV}.tar.bz2"
+SRC_URI = "http://www.netfilter.org/files/iptables-${PV}.tar.bz2 \
+ file://compile.patch;patch=1"
S = "${WORKDIR}/iptables-${PV}"
diff --git a/packages/libftdi/files/ftdi_eeprom-0.2-moko.patch b/packages/libftdi/files/ftdi_eeprom-0.2-moko.patch
new file mode 100644
index 0000000000..ae0ee6235a
--- /dev/null
+++ b/packages/libftdi/files/ftdi_eeprom-0.2-moko.patch
@@ -0,0 +1,16 @@
+--- ftdi_eeprom-0.2/ftdi_eeprom/main.c 2004-03-25 19:58:08.000000000 +0100
++++ ftdi_eeprom-0.2-moko/ftdi_eeprom/main.c 2007-02-16 01:23:40.000000000 +0100
+@@ -135,8 +135,11 @@
+
+ i = ftdi_usb_open(&ftdi, 0x0403, 0x6001);
+ if (i != 0) {
+- printf("Sorry, unable to find FTDI USB chip\n");
+- exit (-1);
++ i = ftdi_usb_open(&ftdi, 0x0403, 0x6010);
++ if (i != 0) {
++ printf("Sorry, unable to find FTDI USB chip\n");
++ exit (-1);
++ }
+ }
+ }
+ }
diff --git a/packages/libftdi/ftdi-eeprom-native_0.2.bb b/packages/libftdi/ftdi-eeprom-native_0.2.bb
new file mode 100644
index 0000000000..1b48bd08f7
--- /dev/null
+++ b/packages/libftdi/ftdi-eeprom-native_0.2.bb
@@ -0,0 +1,8 @@
+require ftdi-eeprom_${PV}.bb
+
+DEPENDS = "libftdi-native confuse-native"
+
+do_stage() {
+ install -m 0755 ftdi_eeprom/ftdi_eeprom ${STAGING_BINDIR_NATIVE}
+}
+
diff --git a/packages/libftdi/ftdi-eeprom_0.2.bb b/packages/libftdi/ftdi-eeprom_0.2.bb
new file mode 100644
index 0000000000..c71ac8d0c3
--- /dev/null
+++ b/packages/libftdi/ftdi-eeprom_0.2.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "ftdi-eeprom is a flashing utility for FTDI chips."
+HOMEPAGE = "http://www.intra2net.com/de/produkte/opensource/ftdi"
+LICENSE = "GPL"
+DEPENDS = "libftdi confuse"
+PR = "r1"
+
+SRC_URI = "http://www.intra2net.com/de/produkte/opensource/ftdi/TGZ/ftdi_eeprom-${PV}.tar.gz \
+ file://ftdi_eeprom-0.2-moko.patch;patch=1"
+S = "${WORKDIR}/ftdi_eeprom-${PV}"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-docs"
diff --git a/packages/libftdi/libftdi_0.8.bb b/packages/libftdi/libftdi_0.8.bb
index f7426ceb1a..451d2e302f 100644
--- a/packages/libftdi/libftdi_0.8.bb
+++ b/packages/libftdi/libftdi_0.8.bb
@@ -8,7 +8,7 @@ SRC_URI = "http://www.intra2net.com/de/produkte/opensource/ftdi/TGZ/libftdi-${PV
file://doxygen-configure.patch;patch=1"
S = "${WORKDIR}/libftdi-${PV}"
-inherit autotools
+inherit autotools binconfig pkgconfig lib_package
EXTRA_OECONF = "--disable-docs"
diff --git a/packages/linux/ixp4xx-kernel.inc b/packages/linux/ixp4xx-kernel.inc
index b16c3d481d..1c9d004d0f 100644
--- a/packages/linux/ixp4xx-kernel.inc
+++ b/packages/linux/ixp4xx-kernel.inc
@@ -211,6 +211,12 @@ do_configure_prepend() {
}
+
+# Kernel module dependencies
+
+RDEPENDS_kernel-module-zd1211rw += "zd1211-firmware"
+
+
# MACHID and LE handling
#
# This mach_fixup function adds the required prefix to the image to
diff --git a/packages/linux/ixp4xx-kernel/2.6.20/defconfig b/packages/linux/ixp4xx-kernel/2.6.20/defconfig
index 6322bd14a0..f787d9d1dc 100644
--- a/packages/linux/ixp4xx-kernel/2.6.20/defconfig
+++ b/packages/linux/ixp4xx-kernel/2.6.20/defconfig
@@ -728,6 +728,7 @@ CONFIG_ISCSI_TCP=m
# Serial ATA (prod) and Parallel ATA (experimental) drivers
#
CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_SATA_AHCI is not set
# CONFIG_SATA_SVW is not set
# CONFIG_ATA_PIIX is not set
@@ -1586,11 +1587,11 @@ CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=m
# CONFIG_USB_SERIAL_AIRPRIME is not set
-# CONFIG_USB_SERIAL_ARK3116 is not set
+CONFIG_USB_SERIAL_ARK3116=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CP2101=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
@@ -1603,7 +1604,19 @@ CONFIG_USB_SERIAL_EDGEPORT_TI=m
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-# CONFIG_USB_SERIAL_KEYSPAN is not set
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
diff --git a/packages/linux/ixp4xx-kernel_2.6.20.bb b/packages/linux/ixp4xx-kernel_2.6.20.bb
index 94a08509a7..e67803098b 100644
--- a/packages/linux/ixp4xx-kernel_2.6.20.bb
+++ b/packages/linux/ixp4xx-kernel_2.6.20.bb
@@ -6,7 +6,7 @@
# http://trac.nslu2-linux.org/kernel/
#
# The revision that is pulled from SVN is specified below
-IXP4XX_KERNEL_SVN_REV = "768"
+IXP4XX_KERNEL_SVN_REV = "770"
#
# The directory containing the patches to be applied is
# specified below
@@ -16,7 +16,7 @@ IXP4XX_KERNEL_PATCH_DIR = "2.6.20"
# the changes in SVN between revisions include changes in the
# patches applied to the kernel, rather than simply defconfig
# changes
-PR = "r2.${IXP4XX_KERNEL_SVN_REV}"
+PR = "r3.${IXP4XX_KERNEL_SVN_REV}"
require ixp4xx-kernel.inc
require ixp4xx-kernel-svnpatch.inc
diff --git a/packages/linux/linux-ezx/wyrm-ts.diff b/packages/linux/linux-ezx/wyrm-ts.diff
new file mode 100644
index 0000000000..a7ec75613c
--- /dev/null
+++ b/packages/linux/linux-ezx/wyrm-ts.diff
@@ -0,0 +1,119 @@
+--- /tmp/pcap_ts.c 2007-02-04 16:55:21.000000000 -0200
++++ linux-2.6.16/drivers/input/touchscreen/pcap_ts.c 2007-02-04 18:47:58.000000000 -0200
+@@ -31,7 +31,7 @@
+
+ #include "../../misc/ezx/ssp_pcap.h"
+
+-#if 1
++#if 0
+ #define DEBUGP(x, args ...) printk(KERN_DEBUG "%s: " x, __FUNCTION__, ## args)
+ #else
+ #define DEBUGP(x, args ...)
+@@ -39,6 +39,7 @@
+
+ #define PRESSURE 1
+ #define COORDINATE 2
++#define STANDBY 3
+
+ struct pcap_ts {
+ int irq_xy;
+@@ -97,7 +98,7 @@
+ int ret;
+ u_int32_t tmp;
+ DEBUGP("start xy read in mode %s\n",
+- pcap_ts->read_state == COORDINATE ? "COORD" : "PRESS");
++ pcap_ts->read_state == COORDINATE ? "COORD" : (pcap_ts->read_state == PRESSURE ? "PRESS" : "STANDBY"));
+
+ ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp);
+ if (ret < 0)
+@@ -122,7 +123,7 @@
+ u_int32_t tmp;
+
+ DEBUGP("get xy value in mode %s\n",
+- pcap_ts->read_state == COORDINATE ? "COORD" : "PRESS");
++ pcap_ts->read_state == COORDINATE ? "COORD" : (pcap_ts->read_state == PRESSURE ? "PRESS" : "STANDBY"));
+
+ ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC2_REGISTER, &tmp);
+ if (ret < 0)
+@@ -145,7 +146,16 @@
+ static irqreturn_t pcap_ts_irq_xy(int irq, void *dev_id, struct pt_regs *regs)
+ {
+ struct pcap_ts *pcap_ts = dev_id;
++// DEBUGP("read_state: %d\n", pcap_ts->read_state);
+
++ /*
++ * Ignore further read interrupts after we set STANDBY - WM
++ */
++ if (pcap_ts->read_state == STANDBY)
++ {
++ DEBUGP("ignored\n");
++ return IRQ_HANDLED;
++ }
+ if (pcap_ts_get_xy_value(pcap_ts) < 0) {
+ printk("pcap_ts: error reading XY value\n");
+ return IRQ_HANDLED;
+@@ -160,33 +170,32 @@
+ pcap_ts->pressure <= PRESSURE_MIN ) &&
+ pcap_ts->pressure == pcap_ts->pressure_last) {
+ /* pen has been released */
++ DEBUGP("UP\n");
+ input_report_key(pcap_ts->input, BTN_TOUCH, 0);
+- input_sync(pcap_ts->input);
+-
+ input_report_abs(pcap_ts->input, ABS_PRESSURE, 0);
++ input_sync(pcap_ts->input);
+
+ pcap_ts->x = pcap_ts->y = 0;
+
++ /* no need for timer, we'll get interrupted with
++ * next touch down event */
++ del_timer(&pcap_ts->timer);
++
+ /* ask PCAP2 to interrupt us if touch event happens
+ * again */
+- pcap_ts->read_state = PRESSURE;
++ pcap_ts->read_state = STANDBY;
+ pcap_ts_mode(PCAP_TS_STANDBY_MODE);
+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0);
+-
+- /* no need for timer, we'll get interrupted with
+- * next touch down event */
+- del_timer(&pcap_ts->timer);
+ } else {
+ /* pen has been touched down */
++ DEBUGP("DOWN\n");
++
+ input_report_key(pcap_ts->input, BTN_TOUCH, 1);
+ /* don't input_sync(), we don't know position yet */
+
+ if (pcap_ts->pressure == 0)
+ pcap_ts->pressure = pcap_ts->pressure_last;
+
+- input_report_abs(pcap_ts->input, ABS_PRESSURE,
+- pcap_ts->pressure);
+-
+ /* switch state machine into coordinate read mode */
+ pcap_ts->read_state = COORDINATE;
+ pcap_ts_mode(PCAP_TS_POSITION_XY_MEASUREMENT);
+@@ -196,18 +205,14 @@
+ /* we are in coordinate mode */
+ if (pcap_ts->x <= X_AXIS_MIN || pcap_ts->x >= X_AXIS_MAX ||
+ pcap_ts->y <= Y_AXIS_MIN || pcap_ts->y >= Y_AXIS_MAX) {
+- DEBUGP("invalid x/y coordinate position: PEN_UP?\n");
+-
++ DEBUGP("PEN_UP?\n");
+ pcap_ts->pressure = 0;
+-#if 0
+- input_report_key(pcap_ts->input, BTN_TOUCH, 0);
+- pcap_ts->x = pcap_ts->y = 0;
+-#endif
+ } else {
++ input_report_abs(pcap_ts->input, ABS_PRESSURE, pcap_ts->pressure);
+ input_report_abs(pcap_ts->input, ABS_X, pcap_ts->x);
+ input_report_abs(pcap_ts->input, ABS_Y, pcap_ts->y);
++ input_sync(pcap_ts->input);
+ }
+- input_sync(pcap_ts->input);
+
+ /* switch back to pressure read mode */
+ pcap_ts->read_state = PRESSURE;
diff --git a/packages/linux/linux-ezx_2.6.16.13.bb b/packages/linux/linux-ezx_2.6.16.13.bb
index 2775a744d3..1e6d3e2506 100644
--- a/packages/linux/linux-ezx_2.6.16.13.bb
+++ b/packages/linux/linux-ezx_2.6.16.13.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.openezx.org"
LICENSE = "GPL"
DEPENDS += "quilt-native"
EZX = "ezx9"
-PR = "${EZX}-r1"
+PR = "${EZX}-r2"
inherit kernel
@@ -20,7 +20,8 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2 \
\
file://logo_linux_clut224.ppm \
file://defconfig-a780 \
- file://defconfig-e680"
+ file://defconfig-e680 \
+ file://wyrm-ts.diff;patch=1"
S = "${WORKDIR}/linux-2.6.16"
##############################################################
diff --git a/packages/linux/linux-ezx_2.6.19+2.6.20-rc2.bb b/packages/linux/linux-ezx_2.6.19+2.6.20-rc2.bb
index 8b65609687..b5202fc0f5 100644
--- a/packages/linux/linux-ezx_2.6.19+2.6.20-rc2.bb
+++ b/packages/linux/linux-ezx_2.6.19+2.6.20-rc2.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://www.openezx.org"
LICENSE = "GPL"
DEPENDS += "quilt-native"
EZX = "ezx0"
-PR = "${EZX}-r1"
+PR = "${EZX}-r2"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_rokr-e2 = "1"
@@ -30,7 +30,8 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.19.tar.bz2 \
${DMSRC}/sumatra.c.patch;patch=1;pnum=1 \
${DMSRC}/uncompress.h.patch;patch=1;pnum=5 \
file://logo_linux_clut224.ppm \
- file://defconfig-${MACHINE}"
+ file://defconfig-${MACHINE} \
+ file://wyrm-ts.diff;patch=1"
S = "${WORKDIR}/linux-2.6.19"
diff --git a/packages/linux/linux-gta01_2.6.20.bb b/packages/linux/linux-gta01_2.6.20.bb
index 406369d81f..a041877c55 100644
--- a/packages/linux/linux-gta01_2.6.20.bb
+++ b/packages/linux/linux-gta01_2.6.20.bb
@@ -3,7 +3,7 @@ SECTION = "kernel"
AUTHOR = "Harald Welte <laforge@openmoko.org>"
HOMEPAGE = "N/A"
LICENSE = "GPL"
-DEPENDS += "uboot-gta01"
+DEPENDS += "u-boot-mkimage-gta01-native"
MOKOR = "moko8"
PR = "${MOKOR}-r1"
diff --git a/packages/linux/linux-handhelds-2.6.inc b/packages/linux/linux-handhelds-2.6.inc
index 34765c738b..b3dfa209bc 100644
--- a/packages/linux/linux-handhelds-2.6.inc
+++ b/packages/linux/linux-handhelds-2.6.inc
@@ -3,7 +3,7 @@ DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer h
LICENSE = "GPL"
COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE ?= '(asus730|aximx50|h1910|h2200|h3600|h3800|h3900|h4000|h5000|htcblueangel|htcuniversal|hx4700|jornada56x|magician|simpad|rx3000)'
+COMPATIBLE_MACHINE ?= '(asus730|aximx50|h1910|h2200|h3600|h3800|h3900|h4000|h5000|htcblueangel|htcuniversal|hx4700|jornada56x|magician|simpad|rx3000|htchermes)'
# SRC_URI *must* be overriden in includer, but this is a good reference
SRC_URI ?= "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
@@ -70,4 +70,4 @@ do_deploy() {
do_deploy[dirs] = "${S}"
-addtask deploy before do_build after do_compile
+addtask deploy before do_package after do_install
diff --git a/packages/linux/linux-rp_2.6.20.bb b/packages/linux/linux-rp_2.6.20.bb
index 3504014ffd..49446a772a 100644
--- a/packages/linux/linux-rp_2.6.20.bb
+++ b/packages/linux/linux-rp_2.6.20.bb
@@ -1,6 +1,6 @@
require linux-rp.inc
-PR = "r5"
+PR = "r6"
# Handy URLs
# git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046
@@ -39,6 +39,7 @@ SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2 \
${RPSRC}/poodle_pm-r3.patch;patch=1 \
${RPSRC}/pxa27x_overlay-r5.patch;patch=1 \
${RPSRC}/w100_extaccel-r0.patch;patch=1 \
+ ${RPSRC}/w100_extmem-r0.patch;patch=1 \
file://hostap-monitor-mode.patch;patch=1 \
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
${RPSRC}/logo_oh-r0.patch.bz2;patch=1;status=unmergable \
diff --git a/packages/linux/linux-turbostation/defconfig b/packages/linux/linux-turbostation/defconfig
index f24c1feb61..4930877637 100644
--- a/packages/linux/linux-turbostation/defconfig
+++ b/packages/linux/linux-turbostation/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.20.1
-# Fri Mar 2 18:26:20 2007
+# Thu Mar 8 19:11:26 2007
#
CONFIG_MMU=y
CONFIG_GENERIC_HARDIRQS=y
@@ -39,7 +39,8 @@ CONFIG_SYSVIPC=y
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_INITRAMFS_SOURCE=""
@@ -70,8 +71,8 @@ CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
#
@@ -89,11 +90,11 @@ CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
-CONFIG_DEFAULT_AS=y
-# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_AS is not set
+CONFIG_DEFAULT_DEADLINE=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_DEFAULT_IOSCHED="deadline"
#
# Processor
@@ -108,7 +109,7 @@ CONFIG_PPC_FPU=y
# CONFIG_PPC_DCR_NATIVE is not set
# CONFIG_ALTIVEC is not set
# CONFIG_TAU is not set
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
# CONFIG_CPU_FREQ is not set
# CONFIG_WANT_EARLY_SERIAL is not set
CONFIG_PPC_GEN550=y
@@ -172,7 +173,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_RESOURCES_64BIT is not set
CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_MISC is not set
+CONFIG_BINFMT_MISC=m
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="console=ttyS0,115200n8 root=/dev/ram rtc-rs5c372.probe=0,0x32"
# CONFIG_PM is not set
@@ -285,9 +286,87 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_IEEE80211 is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+# CONFIG_IRNET is not set
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+# CONFIG_DONGLE is not set
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+# CONFIG_NSC_FIR is not set
+# CONFIG_WINBOND_FIR is not set
+# CONFIG_TOSHIBA_FIR is not set
+# CONFIG_SMC_IRCC_FIR is not set
+# CONFIG_ALI_FIR is not set
+# CONFIG_VLSI_FIR is not set
+# CONFIG_VIA_FIR is not set
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+# CONFIG_IEEE80211_CRYPT_TKIP is not set
+CONFIG_IEEE80211_SOFTMAC=m
+# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
+CONFIG_WIRELESS_EXT=y
#
# Device Drivers
@@ -298,7 +377,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
-# CONFIG_FW_LOADER is not set
+CONFIG_FW_LOADER=m
# CONFIG_SYS_HYPERVISOR is not set
#
@@ -409,7 +488,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
@@ -419,7 +498,9 @@ CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=40960
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
CONFIG_BLK_DEV_INITRD=y
-# CONFIG_CDROM_PKTCDVD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
#
@@ -450,7 +531,7 @@ CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=y
+CONFIG_CHR_DEV_SG=m
# CONFIG_CHR_DEV_SCH is not set
#
@@ -568,7 +649,23 @@ CONFIG_SATA_SIL=y
#
# Multi-device support (RAID and LVM)
#
-# CONFIG_MD is not set
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_RAID5_RESHAPE=y
+# CONFIG_MD_MULTIPATH is not set
+# CONFIG_MD_FAULTY is not set
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+# CONFIG_DM_MULTIPATH is not set
#
# Fusion MPT device support
@@ -601,7 +698,7 @@ CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
+CONFIG_TUN=m
#
# ARCnet devices
@@ -616,6 +713,7 @@ CONFIG_DUMMY=y
# Ethernet (10 or 100Mbit)
#
# CONFIG_NET_ETHERNET is not set
+CONFIG_MII=m
#
# Ethernet (1000 Mbit)
@@ -655,7 +753,33 @@ CONFIG_R1000=y
#
# Wireless LAN (non-hamradio)
#
-# CONFIG_NET_RADIO is not set
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_AIRO is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+CONFIG_USB_ZD1201=m
+# CONFIG_HOSTAP is not set
+# CONFIG_BCM43XX is not set
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_NET_WIRELESS=y
#
# Wan interfaces
@@ -663,13 +787,27 @@ CONFIG_R1000=y
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_SLIP=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLHC=m
+CONFIG_SLIP_SMART=y
+CONFIG_SLIP_MODE_SLIP6=y
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
#
# ISDN subsystem
@@ -720,7 +858,7 @@ CONFIG_SERIO_SERPORT=y
# Character devices
#
CONFIG_VT=y
-# CONFIG_VT_CONSOLE is not set
+CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
# CONFIG_SERIAL_NONSTANDARD is not set
@@ -754,9 +892,10 @@ CONFIG_UNIX98_PTYS=y
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_NVRAM is not set
-# CONFIG_GEN_RTC is not set
+CONFIG_HW_RANDOM=m
+CONFIG_NVRAM=m
+CONFIG_GEN_RTC=m
+CONFIG_GEN_RTC_X=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
@@ -773,14 +912,14 @@ CONFIG_HW_RANDOM=y
# I2C support
#
CONFIG_I2C=y
-# CONFIG_I2C_CHARDEV is not set
+CONFIG_I2C_CHARDEV=m
#
# I2C Algorithms
#
-# CONFIG_I2C_ALGOBIT is not set
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
#
# I2C Hardware Bus support
@@ -888,13 +1027,172 @@ CONFIG_HWMON=y
#
# Multimedia devices
#
-# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_V4L1 is not set
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_VIDEO_V4L2=y
+
+#
+# Video Capture Adapters
+#
+
+#
+# Video Capture Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_CX25840=m
+CONFIG_VIDEO_CX2341X=m
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_VIDEO_SAA7134 is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_CX88 is not set
+# CONFIG_VIDEO_CAFE_CCIC is not set
+
+#
+# V4L USB devices
+#
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_29XXX=y
+CONFIG_VIDEO_PVRUSB2_24XXX=y
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_USBVISION=m
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+CONFIG_USB_DSBR=m
#
# Digital Video Broadcasting Devices
#
-# CONFIG_DVB is not set
-# CONFIG_USB_DABUSB is not set
+CONFIG_DVB=y
+CONFIG_DVB_CORE=m
+# CONFIG_DVB_CORE_ATTACH is not set
+
+#
+# Supported SAA7146 based PCI Adapters
+#
+
+#
+# Supported USB Adapters
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_DVB_CINERGYT2=m
+# CONFIG_DVB_CINERGYT2_TUNING is not set
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+# CONFIG_DVB_B2C2_FLEXCOP is not set
+
+#
+# Supported BT878 Adapters
+#
+
+#
+# Supported Pluto2 Adapters
+#
+# CONFIG_DVB_PLUTO2 is not set
+
+#
+# Supported DVB Frontends
+#
+
+#
+# Customise DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_STV0299=m
+# CONFIG_DVB_CX24110 is not set
+# CONFIG_DVB_CX24123 is not set
+CONFIG_DVB_TDA8083=m
+# CONFIG_DVB_MT312 is not set
+# CONFIG_DVB_VES1X93 is not set
+# CONFIG_DVB_S5H1420 is not set
+CONFIG_DVB_TDA10086=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+# CONFIG_DVB_SP8870 is not set
+# CONFIG_DVB_SP887X is not set
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+# CONFIG_DVB_L64781 is not set
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+# CONFIG_DVB_TDA10021 is not set
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+# CONFIG_DVB_NXT200X is not set
+# CONFIG_DVB_OR51211 is not set
+# CONFIG_DVB_OR51132 is not set
+# CONFIG_DVB_BCM3510 is not set
+CONFIG_DVB_LGDT330X=m
+
+#
+# Tuners/PLL support
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUNER_MT2060=m
+CONFIG_DVB_TUNER_LGH06XF=m
+
+#
+# Miscellaneous devices
+#
+CONFIG_DVB_LNBP21=m
+# CONFIG_DVB_ISL6421 is not set
+# CONFIG_DVB_TUA6100 is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_USB_DABUSB=m
#
# Graphics support
@@ -906,20 +1204,121 @@ CONFIG_HWMON=y
#
# Console display driver support
#
-CONFIG_VGA_CONSOLE=y
-# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Sound
#
-# CONFIG_SOUND is not set
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# PCI devices
+#
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# ALSA PowerMac devices
+#
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_USX2Y=m
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
#
# HID Devices
#
-CONFIG_HID=y
+CONFIG_HID=m
#
# USB support
@@ -942,9 +1341,9 @@ CONFIG_USB_DEVICEFS=y
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_SPLIT_ISO is not set
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_EHCI_SPLIT_ISO=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
@@ -955,8 +1354,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
#
# USB Device Class drivers
#
-# CONFIG_USB_ACM is not set
-CONFIG_USB_PRINTER=y
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -965,23 +1364,26 @@ CONFIG_USB_PRINTER=y
#
# may also be needed; see USB_STORAGE Help for more information
#
-CONFIG_USB_STORAGE=y
+CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_LIBUSUAL is not set
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_DPCM=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_STORAGE_ALAUDA=y
+CONFIG_USB_STORAGE_KARMA=y
+CONFIG_USB_LIBUSUAL=y
#
# USB Input Devices
#
-# CONFIG_USB_HID is not set
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
#
# USB HID Boot Protocol drivers
@@ -994,28 +1396,41 @@ CONFIG_USB_STORAGE=y
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_TOUCHSCREEN is not set
-# CONFIG_USB_YEALINK is not set
-# CONFIG_USB_XPAD is not set
-# CONFIG_USB_ATI_REMOTE is not set
-# CONFIG_USB_ATI_REMOTE2 is not set
-# CONFIG_USB_KEYSPAN_REMOTE is not set
+CONFIG_USB_YEALINK=m
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+CONFIG_USB_ATI_REMOTE2=m
+CONFIG_USB_KEYSPAN_REMOTE=m
# CONFIG_USB_APPLETOUCH is not set
#
# USB Imaging devices
#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
#
# USB Network Adapters
#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET_MII is not set
-# CONFIG_USB_USBNET is not set
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET_MII=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_NET_ZAURUS=m
# CONFIG_USB_MON is not set
#
@@ -1026,64 +1441,81 @@ CONFIG_USB_STORAGE=y
# USB Serial Converter support
#
CONFIG_USB_SERIAL=m
-# CONFIG_USB_SERIAL_GENERIC is not set
-# CONFIG_USB_SERIAL_AIRCABLE is not set
-# CONFIG_USB_SERIAL_AIRPRIME is not set
-# CONFIG_USB_SERIAL_ARK3116 is not set
-# CONFIG_USB_SERIAL_BELKIN is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
-# CONFIG_USB_SERIAL_CP2101 is not set
-# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
-# CONFIG_USB_SERIAL_EMPEG is not set
-# CONFIG_USB_SERIAL_FTDI_SIO is not set
-# CONFIG_USB_SERIAL_FUNSOFT is not set
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_AIRPRIME=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP2101=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
CONFIG_USB_SERIAL_VISOR=m
-# CONFIG_USB_SERIAL_IPAQ is not set
-# CONFIG_USB_SERIAL_IR is not set
-# CONFIG_USB_SERIAL_EDGEPORT is not set
-# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
-# CONFIG_USB_SERIAL_GARMIN is not set
-# CONFIG_USB_SERIAL_IPW is not set
-# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-# CONFIG_USB_SERIAL_KLSI is not set
-# CONFIG_USB_SERIAL_KOBIL_SCT is not set
-# CONFIG_USB_SERIAL_MCT_U232 is not set
-# CONFIG_USB_SERIAL_MOS7720 is not set
-# CONFIG_USB_SERIAL_MOS7840 is not set
-# CONFIG_USB_SERIAL_NAVMAN is not set
-# CONFIG_USB_SERIAL_PL2303 is not set
-# CONFIG_USB_SERIAL_HP4X is not set
-# CONFIG_USB_SERIAL_SAFE is not set
-# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
-# CONFIG_USB_SERIAL_TI is not set
-# CONFIG_USB_SERIAL_CYBERJACK is not set
-# CONFIG_USB_SERIAL_XIRCOM is not set
-# CONFIG_USB_SERIAL_OPTION is not set
-# CONFIG_USB_SERIAL_OMNINET is not set
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
# CONFIG_USB_SERIAL_DEBUG is not set
+CONFIG_USB_EZUSB=y
#
# USB Miscellaneous drivers
#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGET is not set
-# CONFIG_USB_IDMOUSE is not set
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGET=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETMOTORCONTROL=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
# CONFIG_USB_TEST is not set
#
@@ -1175,34 +1607,42 @@ CONFIG_RTC_DRV_RS5C372=y
#
# File systems
#
-CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_EXT2_FS_SECURITY is not set
# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not set
# CONFIG_EXT4DEV_FS is not set
-CONFIG_JBD=y
+CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-# CONFIG_REISERFS_FS is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+# CONFIG_XFS_SECURITY is not set
+CONFIG_XFS_POSIX_ACL=y
+# CONFIG_XFS_RT is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-CONFIG_ROMFS_FS=y
+CONFIG_MINIX_FS=m
+CONFIG_ROMFS_FS=m
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_QUOTA is not set
+CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
+CONFIG_FUSE_FS=m
#
# CD-ROM/DVD Filesystems
@@ -1259,7 +1699,7 @@ CONFIG_JFFS2_FS_SECURITY=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
-# CONFIG_CRAMFS is not set
+CONFIG_CRAMFS=m
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
@@ -1402,7 +1842,7 @@ CONFIG_CRYPTO_MANAGER=y
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
-# CONFIG_CRYPTO_SHA1 is not set
+CONFIG_CRYPTO_SHA1=m
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
@@ -1415,11 +1855,11 @@ CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_AES is not set
+CONFIG_CRYPTO_AES=m
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_ARC4 is not set
+CONFIG_CRYPTO_ARC4=m
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_DEFLATE is not set
diff --git a/packages/linux/linux-turbostation_2.6.20.1.bb b/packages/linux/linux-turbostation_2.6.20.1.bb
index 6e08b9ecff..a74bf1475a 100644
--- a/packages/linux/linux-turbostation_2.6.20.1.bb
+++ b/packages/linux/linux-turbostation_2.6.20.1.bb
@@ -2,31 +2,12 @@ DESCRIPTION = "Linux Kernel for the QNAP TurboStation platform"
SECTION = "kernel"
LICENSE = "GPL"
DEPENDS = "uboot-utils"
-PR = "r4"
-
-# notes on iom def kernel:
-#
-# can probably remove :
-# BLK_DEV_RAM ?
-# MD_RAID5
-# QUOTA
-# QFMT_V2
-# DNOTIFY?
-# MSDOS_FS, VFAT_FS, NTFS_FS?
-#
-# USB_GADGET? - USB_GADGET_NET2280, USB_ETH, USB_ETH_RNDIS
-#
-#
-# should add:
-# EXT3_FS
-# PACKET_MMAP ?
-# i2c_chardev?
-# usb audio:
-# USB_EMI62?
-# USB_EMI26?
+PR = "r6"
COMPATIBLE_MACHINE = "turbostation"
+RDEPENDS_kernel-module-zd1211rw += "zd1211-firmware"
+
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
file://001_r1000.diff;patch=1 \
file://linux-2.6.16_arch_ppc_platforms_sandpoint.h;patch=1 \
diff --git a/packages/ltp/.mtn2git_empty b/packages/ltp/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ltp/.mtn2git_empty
diff --git a/packages/ltp/ltp-20070228/.mtn2git_empty b/packages/ltp/ltp-20070228/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ltp/ltp-20070228/.mtn2git_empty
diff --git a/packages/ltp/ltp-20070228/cross-compile.patch b/packages/ltp/ltp-20070228/cross-compile.patch
new file mode 100644
index 0000000000..ae956fd8bf
--- /dev/null
+++ b/packages/ltp/ltp-20070228/cross-compile.patch
@@ -0,0 +1,51 @@
+diff -urN ltp-full-20060615.orig/Makefile ltp-full-20060615/Makefile
+--- ltp-full-20060615.orig/Makefile 2006-02-24 10:16:55.000000000 +0800
++++ ltp-full-20060615/Makefile 2006-07-07 17:10:22.000000000 +0800
+@@ -30,11 +30,12 @@
+ endif
+ ifdef CROSS_COMPILER
+ CC=$(CROSS_COMPILER)gcc
++CPP=$(CROSS_COMPILER)g++
+ AR=$(CROSS_COMPILER)ar
+ endif
+
+ export CFLAGS += -Wall $(CROSS_CFLAGS)
+-export CC AR LDFLAGS
++export CC AR LDFLAGS CPP
+
+ -include config.mk
+
+diff -urN ltp-full-20060615.orig/testcases/ballista/ballista/Makefile ltp-full-20060615/testcases/ballista/ballista/Makefile
+--- ltp-full-20060615.orig/testcases/ballista/ballista/Makefile 2006-02-23 08:33:27.000000000 +0800
++++ ltp-full-20060615/testcases/ballista/ballista/Makefile 2006-07-07 17:11:29.000000000 +0800
+@@ -24,7 +24,7 @@
+ ########################
+
+ # compiler info for the host
+-CC = g++ -Wno-deprecated
++CC = $(CPP) -Wno-deprecated
+ CFLAGS = -w -O ${TARGET_DEF}
+ CLIBS = -lpthread -ldl -lnsl -rdynamic
+ TEST_MAN_FILE = selfHost
+diff -urN ltp-full-20060615.orig/testcases/network/nfs/cthon04/tests.init ltp-full-20060615/testcases/network/nfs/cthon04/tests.init
+--- ltp-full-20060615.orig/testcases/network/nfs/cthon04/tests.init 2005-09-01 04:27:17.000000000 +0800
++++ ltp-full-20060615/testcases/network/nfs/cthon04/tests.init 2006-07-07 17:12:28.000000000 +0800
+@@ -73,7 +73,7 @@
+ # Tru64 UNIX
+ # SVR4
+ # Linux
+-PATH=/bin:/usr/bin:/usr/ucb:/usr/ccs/bin:/sbin:/usr/sbin:.
++#PATH=/bin:/usr/bin:/usr/ucb:/usr/ccs/bin:/sbin:/usr/sbin:.
+
+ # Use this path for:
+ # DG/UX
+@@ -104,7 +104,9 @@
+ # Do not remove the following three lines. They may be overridden by
+ # other configuration parameters lower in this file, but these three
+ # variables must be defined.
++ifndef CC
+ CC=cc
++endif
+ CFLAGS=
+ LIBS=
+ LOCKTESTS=tlock
diff --git a/packages/ltp/ltp-20070228/ltp-run b/packages/ltp/ltp-20070228/ltp-run
new file mode 100644
index 0000000000..5d97f00532
--- /dev/null
+++ b/packages/ltp/ltp-20070228/ltp-run
@@ -0,0 +1,4 @@
+#!/bin/sh
+/usr/libexec/ltp/runltp -t 180s > /home/root/testlog.txt
+echo "Benchmark run finished...."
+touch /home/root/testfinished.flag
diff --git a/packages/ltp/ltp-20070228/runltp-path.patch b/packages/ltp/ltp-20070228/runltp-path.patch
new file mode 100644
index 0000000000..dfbbf353ec
--- /dev/null
+++ b/packages/ltp/ltp-20070228/runltp-path.patch
@@ -0,0 +1,13 @@
+Index: runltp
+===================================================================
+--- ltp-full-20060412.orig/runltp 2005-03-12 03:26:14.000000000 +0800
++++ ltp-full-20060412/runltp 2006-04-26 16:42:13.000000000 +0800
+@@ -43,7 +43,7 @@
+ echo "FATAL: unable to change directory to $(dirname $0)"
+ exit 1
+ }
+- export LTPROOT=${PWD}
++ export LTPROOT=/usr/libexec/ltp
+ export TMPBASE="/tmp"
+ export TMP="${TMPBASE}/ltp-$$"
+ export PATH="${PATH}:${LTPROOT}/testcases/bin"
diff --git a/packages/ltp/ltp_20070228.bb b/packages/ltp/ltp_20070228.bb
new file mode 100644
index 0000000000..400d642641
--- /dev/null
+++ b/packages/ltp/ltp_20070228.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "Linux Test Project"
+HOMEPAGE = "http://ltp.sourceforge.net"
+LICENSE = "GPL"
+SECTION = "console/utils"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ltp/ltp-full-${PV}.tgz \
+ file://cross-compile.patch;patch=1 \
+ file://runltp-path.patch;patch=1 \
+ file://ltp-run"
+
+S = "${WORKDIR}/ltp-full-${PV}"
+
+EXTRA_OEMAKE_append = " CROSS_COMPILE=${HOST_PREFIX}"
+
+do_compile(){
+ oe_runmake CROSS_COMPILE=${HOST_PREFIX}
+}
+
+do_install(){
+ export CREATE=0
+ export LTPROOT=${D}/usr/libexec/ltp/testcases
+
+ oe_runmake install
+
+ install -d ${D}/usr/libexec/ltp/testcases
+ install -d ${D}/usr/libexec/ltp/pan
+
+ #install testcases
+ #install -m 0755 ${WORKDIR}/testcases ${D}/usr/libexec/ltp/testcases
+ #install -m 0755 ${WORKDIR}/testcases ${D}/usr/libexec/ltp/
+
+ # treecopy testcases pan/pan runtest ver_linux IDcheck.sh \
+ # ${D}/usr/libexec/ltp
+ cp testcases ${D}/usr/libexec/ltp/ -rfp
+ rm ${D}/usr/libexec/ltp/ballista -rf
+ cp pan/pan ${D}/usr/libexec/ltp/pan -p
+ cp runtest ${D}/usr/libexec/ltp/ -rfp
+ cp ver_linux ${D}/usr/libexec/ltp/ -p
+ cp runltp ${D}/usr/libexec/ltp/ -p
+ cp IDcheck.sh ${D}/usr/libexec/ltp/ -p
+}
+
diff --git a/packages/madwifi/madwifi-ng_r2182-20070308.bb b/packages/madwifi/madwifi-ng_r2182-20070308.bb
new file mode 100644
index 0000000000..42d8ccafe4
--- /dev/null
+++ b/packages/madwifi/madwifi-ng_r2182-20070308.bb
@@ -0,0 +1,3 @@
+PR = "r0"
+
+require madwifi-ng_r.inc
diff --git a/packages/matchbox2/matchbox-panel-2_svn.bb b/packages/matchbox2/matchbox-panel-2_svn.bb
index 1a92be3e37..a0f4a7f484 100644
--- a/packages/matchbox2/matchbox-panel-2_svn.bb
+++ b/packages/matchbox2/matchbox-panel-2_svn.bb
@@ -4,9 +4,10 @@ SECTION = "x11/panels"
DEPENDS = "gtk+"
RREPLACES = "matchbox-panel"
+RCONFLICTS = "matchbox-panel"
PV = "0.1+svn${SRCDATE}"
-PR = "r2"
+PR = "r3"
SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
S = "${WORKDIR}/${PN}"
diff --git a/packages/meta/foonas-packages.bb b/packages/meta/foonas-packages.bb
new file mode 100644
index 0000000000..822b7afb2d
--- /dev/null
+++ b/packages/meta/foonas-packages.bb
@@ -0,0 +1,144 @@
+DESCRIPTION = "Packages that are compatible with FooNAS"
+LICENSE = "MIT"
+PR = "r1"
+CONFLICTS = "db3"
+PROVIDES += "${FOONAS_IMAGENAME}-packages"
+
+EXCLUDE_FROM_WORLD = "1"
+INHIBIT_DEFAULT_DEPS = "1"
+ALLOW_EMPTY = "1"
+
+FOONAS_PACKAGES = "\
+ alsa-lib \
+ alsa-utils \
+ apache2 \
+ audiofile \
+ aumix \
+ autoconf \
+ automake \
+ bash \
+ bind \
+ binutils \
+ bison \
+ bridge-utils \
+ bzip2 \
+ ccxstream \
+ cdparanoia \
+ cdstatus \
+ coreutils \
+ cron \
+ ctorrent \
+ cvs \
+ db \
+ devlabel \
+ diffstat \
+ diffutils \
+ dnsmasq \
+ e2fsprogs \
+ e2fsprogs-libs \
+ expat \
+ ez-ipupdate \
+ fetchmail \
+ file \
+ findutils \
+ flex \
+ flite \
+ gallery \
+ gawk \
+ gdbm \
+ gnu-config \
+ grep \
+ gtk-doc \
+ gzip \
+ hdparm \
+ ipkg-utils \
+ iptables \
+ ircp \
+ joe \
+ jpeg \
+ less \
+ libao \
+ libid3tag \
+ liblockfile \
+ libmad \
+ libmikmod \
+ libogg \
+ libol \
+ libpng \
+ libtool \
+ libupnp \
+ libusb \
+ libvorbis \
+ litestream \
+ lrzsz \
+ lsof \
+ lvm2 \
+ m4 \
+ madplay \
+ mailx \
+ make \
+ mdadm \
+ mgetty \
+ miau \
+ microcom \
+ minicom \
+ modphp \
+ mt-daapd \
+ mtd-utils \
+ mutt \
+ nail \
+ nano \
+ ncftp \
+ ncurses \
+ netcat \
+ nmap \
+ ntp \
+ openobex-apps \
+ openldap \
+ openntpd \
+ openobex \
+ openssh \
+ openvpn \
+ patch \
+ pciutils \
+ libpcre \
+ perl \
+ pkgconfig \
+ ppp \
+ procps \
+ quilt \
+ rng-tools \
+ rsync \
+ sed \
+ setserial \
+ smartmontools \
+ ssmtp \
+ strace \
+ streamripper \
+ sysfsutils \
+ syslog-ng \
+ tar \
+ thttpd \
+ tiff \
+ unzip \
+ usbutils \
+ util-linux \
+ vim \
+ vlan \
+ watchdog \
+ wget \
+ wireless-tools \
+ zip \
+ zlib \
+ "
+
+FOONAS_EXTRA_PACKAGES ?= ""
+
+# The package-index at the end causes regeneration of the Packages.gz and
+# other control files.
+DEPENDS = "\
+ foonas-image \
+ ${FOONAS_PACKAGES} \
+ ${FOONAS_EXTRA_PACKAGES} \
+ package-index \
+ "
diff --git a/packages/meta/slugos-native.bb b/packages/meta/slugos-native.bb
index 3b4023ba45..281310a2dd 100644
--- a/packages/meta/slugos-native.bb
+++ b/packages/meta/slugos-native.bb
@@ -78,9 +78,12 @@ SLUGOS_NATIVE = "\
# even on a thumb system (and this can be set in the tool's .bb file),
# however even this doesn't work for very large programs at present
# (only monotone!)
-SLUGOS_NATIVE_THUMB_BROKEN = "\
- monotone-6 \
- "
+####### *-*-* TEMPORARY: mwester - remove monotone as it wont' build.
+#SLUGOS_NATIVE_THUMB_BROKEN = "\
+# monotone-6 \
+# "
+SLUGOS_NATIVE_THUMB_BROKEN = ""
+###### *-*-*
SLUGOS_NATIVE_THUMB_BROKEN_thumb = ""
diff --git a/packages/meta/slugos-packages.bb b/packages/meta/slugos-packages.bb
index 76c949c0dd..62d87861d5 100644
--- a/packages/meta/slugos-packages.bb
+++ b/packages/meta/slugos-packages.bb
@@ -5,7 +5,7 @@
DESCRIPTION = "Packages that are compatible with the SlugOS firmware"
HOMEPAGE = "http://www.nslu2-linux.org"
LICENSE = "MIT"
-PR = "r19"
+PR = "r22"
CONFLICTS = "db3"
COMPATIBLE_MACHINE = "nslu2"
@@ -107,14 +107,12 @@ SLUGOS_PACKAGES = "\
make \
masqmail \
mdadm \
- mediatomb \
memtester \
mgetty \
miau \
microcom \
minicom \
motion \
- mpd \
mt-daapd \
mtd-utils \
mutt \
@@ -158,8 +156,10 @@ SLUGOS_PACKAGES = "\
sysfsutils \
syslog-ng \
tar \
+ task-mokogateway-everything \
thttpd \
tiff \
+ tzdata \
unzip \
usbutils \
util-linux \
@@ -171,6 +171,7 @@ SLUGOS_PACKAGES = "\
wget \
wireless-tools \
wpa-supplicant \
+ zd1211-firmware \
zip \
zlib \
"
@@ -182,6 +183,8 @@ SLUGOS_BROKEN_PACKAGES = "\
gphoto2 \
irssi \
libgphoto2 \
+ mediatomb \
+ mpd \
netpbm \
puppy \
pvrusb2-mci \
diff --git a/packages/netbase/netbase/foonas/.mtn2git_empty b/packages/netbase/netbase/foonas/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/netbase/netbase/foonas/.mtn2git_empty
diff --git a/packages/netbase/netbase/foonas/interfaces b/packages/netbase/netbase/foonas/interfaces
new file mode 100644
index 0000000000..314715bba7
--- /dev/null
+++ b/packages/netbase/netbase/foonas/interfaces
@@ -0,0 +1,13 @@
+# /etc/network/interfaces
+# configuration file for ifup(8), ifdown(8)
+#
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+#
+# The interface used by default during boot
+auto eth0
+iface eth0 inet dhcp
+ address 192.168.1.16
+
diff --git a/packages/netbase/netbase_4.21.bb b/packages/netbase/netbase_4.21.bb
index 4590cf7649..265da46360 100644
--- a/packages/netbase/netbase_4.21.bb
+++ b/packages/netbase/netbase_4.21.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "This package provides the necessary \
infrastructure for basic TCP/IP based networking."
SECTION = "base"
LICENSE = "GPL"
-PR = "r13"
+PR = "r14"
inherit update-rc.d
diff --git a/packages/openmoko-base/openmoko-theme-standard_svn.bb b/packages/openmoko-base/openmoko-theme-standard_svn.bb
index d8a9ba5fa2..e7a6def235 100644
--- a/packages/openmoko-base/openmoko-theme-standard_svn.bb
+++ b/packages/openmoko-base/openmoko-theme-standard_svn.bb
@@ -5,7 +5,7 @@ PR = "r3"
inherit openmoko-base
-SRC_URI = "${OPENMOKO_MIRROR}/src/target/${OPENMOKO_RELEASE}/artwork;module=themes;proto=https"
+SRC_URI = "${OPENMOKO_MIRROR}/src/target/${OPENMOKO_RELEASE}/artwork;module=themes;proto=http"
S = "${WORKDIR}"
dirs = "themes/openmoko-standard"
diff --git a/packages/openmoko-pim/openmoko-dates/om-dates-temp-buildfix_20070308.patch b/packages/openmoko-pim/openmoko-dates/om-dates-temp-buildfix_20070308.patch
new file mode 100644
index 0000000000..04d6b4b8c1
--- /dev/null
+++ b/packages/openmoko-pim/openmoko-dates/om-dates-temp-buildfix_20070308.patch
@@ -0,0 +1,8 @@
+--- openmoko/po/LINGUAS.orig 2007-03-08 11:07:44.000000000 +0000
++++ openmoko/po/LINGUAS 2007-03-08 11:07:52.000000000 +0000
+@@ -1,5 +1,4 @@
+ et
+ fr
+ nl
+-pl
+ ru
diff --git a/packages/openmoko-pim/openmoko-dates_svn.bb b/packages/openmoko-pim/openmoko-dates_svn.bb
index 481b6e829f..9d6ab801e3 100644
--- a/packages/openmoko-pim/openmoko-dates_svn.bb
+++ b/packages/openmoko-pim/openmoko-dates_svn.bb
@@ -3,12 +3,12 @@ SECTION = "openmoko/pim"
LICENSE = "GPL"
DEPENDS = "glib-2.0 gtk+ libglade eds-dbus openmoko-libs"
PV = "0.1+svn${SRCDATE}"
-PR = "r4"
+PR = "r5"
inherit gnome autotools pkgconfig gtk-icon-cache
SRC_URI = "svn://svn.o-hand.com/repos/dates/branches/;module=openmoko;proto=http \
- "
+ file://om-dates-temp-buildfix_20070308.patch;patch=p1"
S = "${WORKDIR}/openmoko"
diff --git a/packages/s3c2410-utils/sjf2410-linux-native_20060807.bb b/packages/s3c2410-utils/sjf2410-linux-native_20060807.bb
index 70cc6c7424..53b2d0c8e0 100644
--- a/packages/s3c2410-utils/sjf2410-linux-native_20060807.bb
+++ b/packages/s3c2410-utils/sjf2410-linux-native_20060807.bb
@@ -29,4 +29,4 @@ do_install() {
:
}
-addtask deploy before do_build after do_compile
+addtask deploy before do_package after do_install
diff --git a/packages/s3c2410-utils/sjf2410-linux-native_svn.bb b/packages/s3c2410-utils/sjf2410-linux-native_svn.bb
index 55176029ab..60cce4a3e2 100644
--- a/packages/s3c2410-utils/sjf2410-linux-native_svn.bb
+++ b/packages/s3c2410-utils/sjf2410-linux-native_svn.bb
@@ -29,4 +29,4 @@ do_install() {
:
}
-addtask deploy before do_build after do_compile
+addtask deploy before do_package after do_install
diff --git a/packages/spandsp/.mtn2git_empty b/packages/spandsp/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/spandsp/.mtn2git_empty
diff --git a/packages/spandsp/spandsp_0.0.2+0.0.3pre27.bb b/packages/spandsp/spandsp_0.0.2+0.0.3pre27.bb
new file mode 100644
index 0000000000..2c0ffa0845
--- /dev/null
+++ b/packages/spandsp/spandsp_0.0.2+0.0.3pre27.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "A library of many DSP functions for telephony."
+HOMEPAGE = "http://www.soft-switch.org"
+DEPENDS = "tiff libxml2"
+SECTION = "voip"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "http://www.soft-switch.org/downloads/snapshots/spandsp/spandsp-20070123.tar.gz"
+S = "${WORKDIR}/${PN}-0.0.3"
+
+inherit autotools
+
+PARALLEL_MAKE = ""
+
+do_stage () {
+ autotools_stage_all
+} \ No newline at end of file
diff --git a/packages/tasks/task-base.bb b/packages/tasks/task-base.bb
index f74d8f8943..5bc38f6a79 100644
--- a/packages/tasks/task-base.bb
+++ b/packages/tasks/task-base.bb
@@ -1,8 +1,7 @@
DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
-PR = "r19"
+PR = "r20"
PACKAGES = "task-base \
- task-base-minimal \
task-base-oh-minimal \
task-base-core-default"
@@ -99,11 +98,10 @@ RDEPENDS_task-base-oh-minimal = "\
${@base_contains("COMBINED_FEATURES", "pcmcia", "${PCMCIA_MANAGER}", "",d)} \
${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}"
-RRECOMMENDS_task-base-minimal = "\
+RRECOMMENDS_task-base-oh-minimal = "\
${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"
-
HOTPLUG ?= "linux-hotplug"
RDEPENDS_task-base-core-default = '\
diff --git a/packages/tasks/task-gpephone.bb b/packages/tasks/task-gpephone.bb
index 87f8c01749..e03886f0fd 100644
--- a/packages/tasks/task-gpephone.bb
+++ b/packages/tasks/task-gpephone.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Task packages for GPE Palmtop Environment Phone Edition"
-PR = "r2"
+PR = "r3"
LICENSE = "MIT"
ALLOW_EMPTY = "1"
@@ -67,8 +67,8 @@ RDEPENDS_gpephone-task-base := "\
pango-module-basic-x \
pango-module-basic-fc \
detect-stylus \
+ libgtkinput \
${@base_contains("MACHINE_FEATURES", "touchscreen", "libgtkstylus xtscal", "",d)} \
- ${@base_contains("MACHINE_FEATURES", "keyboard", "", "libgtkinput",d)} \
"
RDEPENDS_gpephone-task-pim := "\
diff --git a/packages/tasks/task-mokogateway.bb b/packages/tasks/task-mokogateway.bb
new file mode 100644
index 0000000000..4fbf450cdf
--- /dev/null
+++ b/packages/tasks/task-mokogateway.bb
@@ -0,0 +1,77 @@
+DESCRIPTION = "MokoGateway: Tasks for a companion server for the OpenMoko Linux Distribution"
+ALLOW_EMPTY = "1"
+PACKAGE_ARCH = "all"
+LICENSE = "MIT"
+PROVIDES = "task-mokogateway-everything"
+PR = "1"
+
+PACKAGES = "\
+ task-mokogateway-everything \
+ ${MOKOGATEWAY_PACKAGES} \
+"
+
+MOKOGATEWAY_PACKAGES = "\
+ task-mokogateway-usbnet \
+ task-mokogateway-bluetooth \
+ task-mokogateway-wifi \
+ task-mokogateway-debug \
+"
+
+RDEPENDS_task-mokogateway-everything = "${MOKOGATEWAY_PACKAGES}"
+
+DESCRIPTION_task-mokogateway-usbnet = "MokoGateway: USB Networking"
+RDEPENDS_task-mokogateway-usbnet = "\
+"
+RRECOMMENDS_task-mokogateway-usbnet = "\
+ kernel-module-usbnet \
+ kernel-module-cdc-ether \
+"
+
+DESCRIPTION_task-mokogateway-bluetooth = "MokoGateway: Bluetooth"
+RDEPENDS_task-mokogateway-bluetooth = "\
+ bluez-utils \
+"
+RRECOMMENDS_task-mokogateway-bluetooth = "\
+ kernel-module-bluetooth \
+ kernel-module-l2cap \
+ kernel-module-rfcomm \
+ kernel-module-hci-vhci \
+ kernel-module-bnep \
+ kernel-module-hidp \
+ kernel-module-hci-uart \
+ kernel-module-sco \
+ ${@base_contains("COMBINED_FEATURES", "usbhost", "kernel-module-hci-usb", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-bluetooth3c-cs", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-bluecard-cs", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-bluetoothuart-cs", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-dtl1-cs", "",d)} \
+"
+
+DESCRIPTION_task-mokogateway-wifi = "MokoGateway: WiFi"
+RDEPENDS_task-mokogateway-wifi = "\
+ wireless-tools \
+ ${@base_contains("COMBINED_FEATURES", "pcmcia", "hostap-utils", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "pci", "hostap-utils", "",d)} \
+ wpa-supplicant \
+"
+RRECOMMENDS_task-mokogateway-wifi = "\
+ kernel-module-ieee80211-crypt \
+ kernel-module-ieee80211-crypt-ccmp \
+ kernel-module-ieee80211-crypt-tkip \
+ kernel-module-ieee80211-crypt-wep \
+ kernel-module-arc4 \
+ kernel-module-michael-mic \
+ kernel-module-aes \
+ ${@base_contains("COMBINED_FEATURES", "usbhost", "kernel-module-zd1211rw", "",d)} \
+ ${@base_contains("COMBINED_FEATURES", "usbhost", "zd1211-firmware", "",d)} \
+"
+
+DESCRIPTION_task-mokogateway-debug = "MokoGateway: Debug"
+RDEPENDS_task-mokogateway-debug = "\
+ dfu-util \
+ ftdi-eeprom \
+ openocd \
+"
+RRECOMMENDS_task-mokogateway-debug = "\
+"
+
diff --git a/packages/tasks/task-openmoko.bb b/packages/tasks/task-openmoko.bb
index 1d748f1235..ae705dd387 100644
--- a/packages/tasks/task-openmoko.bb
+++ b/packages/tasks/task-openmoko.bb
@@ -5,7 +5,7 @@ PACKAGE_ARCH = "all"
LICENSE = "MIT"
PROVIDES = "task-openmoko-everything"
-PR = "r28"
+PR = "r29"
PACKAGES = "\
task-openmoko-linux \
@@ -153,16 +153,23 @@ RDEPENDS_task-openmoko-demo = "\
matchbox-keyboard \
matchbox-stroke \
matchbox-config-gtk \
- matchbox-panel-manager \
+ matchbox-panel-2-applets \
matchbox-panel-hacks \
matchbox-themes-extra \
matchbox-themes-gtk \
matchbox-applet-inputmanager \
matchbox-applet-startup-monitor \
+ openmoko-panel-battery \
+ openmoko-panel-clock \
+ openmoko-panel-demo \
+ openmoko-panel-demo-simple \
+ openmoko-panel-gsm \
+ openmoko-panel-mainmenu \
xcursor-transparent-theme \
settings-daemon \
web \
rxvt-unicode \
+ gpe-terminal \
mtpaint \
"
diff --git a/packages/tasks/task-slugos.bb b/packages/tasks/task-slugos.bb
index 3707316c1e..2fd4ad0473 100644
--- a/packages/tasks/task-slugos.bb
+++ b/packages/tasks/task-slugos.bb
@@ -6,7 +6,7 @@
DESCRIPTION = "Task packages for the SlugOS distribution"
HOMEPAGE = "http://www.nslu2-linux.org"
LICENSE = "MIT"
-PR = "r3"
+PR = "r4"
PACKAGE_ARCH = "${MACHINE_ARCH}"
ALLOW_EMPTY = "1"
@@ -60,13 +60,19 @@ kernel-module-ext2 \
kernel-module-jbd \
kernel-module-ext3 \
kernel-module-vfat \
-kernel-module-ntfs \
kernel-module-isofs \
kernel-module-udf \
+kernel-module-nfs \
kernel-module-nls-cp437 \
kernel-module-nls-utf8 \
"
+# Until it becomes clear which of the ntfs drivers is the better
+# solution, the Linux ntfs driver is commented out.
+#SLUGOS_STANDARD_RDEPENDS += "\
+#kernel-module-ntfs \
+#"
+
# Add daemon required for HW RNG support
SLUGOS_STANDARD_RDEPENDS += "\
rng-tools \
diff --git a/packages/tslib/tslib-1.0/fic-gta01/.mtn2git_empty b/packages/tslib/tslib-1.0/fic-gta01/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/tslib/tslib-1.0/fic-gta01/.mtn2git_empty
diff --git a/packages/tslib/tslib-1.0/fic-gta01/ts.conf b/packages/tslib/tslib-1.0/fic-gta01/ts.conf
new file mode 100644
index 0000000000..82f712ef41
--- /dev/null
+++ b/packages/tslib/tslib-1.0/fic-gta01/ts.conf
@@ -0,0 +1,25 @@
+# Uncomment if you wish to use the linux input layer event interface
+module_raw input grab_events=1
+
+# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d
+# module_raw collie
+
+# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860
+# module_raw corgi
+
+# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface
+# module_raw ucb1x00
+
+# Uncomment if you're using an HP iPaq h3600 or similar
+# module_raw h3600
+
+# Uncomment if you're using a Hitachi Webpad
+# module_raw mk712
+
+# Uncomment if you're using an IBM Arctic II
+# module_raw arctic2
+
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/packages/tslib/tslib-1.0/ts.conf b/packages/tslib/tslib-1.0/ts.conf
index 82f712ef41..1abde2fc7f 100644
--- a/packages/tslib/tslib-1.0/ts.conf
+++ b/packages/tslib/tslib-1.0/ts.conf
@@ -1,5 +1,5 @@
# Uncomment if you wish to use the linux input layer event interface
-module_raw input grab_events=1
+module_raw input grab_events=0
# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d
# module_raw collie
diff --git a/packages/tslib/tslib_1.0.bb b/packages/tslib/tslib_1.0.bb
index 4a91109183..7ccfdd82c7 100644
--- a/packages/tslib/tslib_1.0.bb
+++ b/packages/tslib/tslib_1.0.bb
@@ -4,7 +4,7 @@ AUTHOR = "Russell King w/ plugins by Chris Larson et. al."
SECTION = "base"
LICENSE = "LGPL"
-PR = "r10"
+PR = "r11"
SRC_URI = "http://download.berlios.de/tslib/tslib-1.0.tar.bz2 \
file://tslib-input_raw-grab_events.patch;patch=1 \
diff --git a/packages/ttf-fonts/ttf-dejavu_2.13.bb b/packages/ttf-fonts/ttf-dejavu_2.15.bb
index c1b743aa1b..c1b743aa1b 100644
--- a/packages/ttf-fonts/ttf-dejavu_2.13.bb
+++ b/packages/ttf-fonts/ttf-dejavu_2.15.bb
diff --git a/packages/uboot-utils/files/.mtn2git_empty b/packages/uboot-utils/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/uboot-utils/files/.mtn2git_empty
diff --git a/packages/uboot-utils/env-Makefile.patch b/packages/uboot-utils/files/env-Makefile.patch
index ad3a6b39a3..ad3a6b39a3 100644
--- a/packages/uboot-utils/env-Makefile.patch
+++ b/packages/uboot-utils/files/env-Makefile.patch
diff --git a/packages/uboot-utils/fw_env.c.patch b/packages/uboot-utils/files/fw_env.c.patch
index 62f364ad4a..62f364ad4a 100644
--- a/packages/uboot-utils/fw_env.c.patch
+++ b/packages/uboot-utils/files/fw_env.c.patch
diff --git a/packages/uboot-utils/fw_env.h.patch b/packages/uboot-utils/files/fw_env.h.patch
index 2ef2bb83c4..2ef2bb83c4 100644
--- a/packages/uboot-utils/fw_env.h.patch
+++ b/packages/uboot-utils/files/fw_env.h.patch
diff --git a/packages/uboot-utils/tools-Makefile.patch b/packages/uboot-utils/files/tools-Makefile.patch
index a44bc917d6..a44bc917d6 100644
--- a/packages/uboot-utils/tools-Makefile.patch
+++ b/packages/uboot-utils/files/tools-Makefile.patch
diff --git a/packages/uboot-utils/uboot-utils_1.1.2.bb b/packages/uboot-utils/uboot-utils_1.1.2.bb
index 3bcf1eba6c..4786b238a9 100644
--- a/packages/uboot-utils/uboot-utils_1.1.2.bb
+++ b/packages/uboot-utils/uboot-utils_1.1.2.bb
@@ -3,9 +3,9 @@ SECTION = "bootloaders"
PRIORITY = "optional"
LICENSE = "GPL"
DEPENDS = "mtd-utils"
+PR = "2"
SRC_URI = "${SOURCEFORGE_MIRROR}/u-boot/u-boot-${PV}.tar.bz2 \
- file://fw_env.h.patch;patch=1 \
file://fw_env.c.patch;patch=1 \
file://tools-Makefile.patch;patch=1 \
file://env-Makefile.patch;patch=1 "
@@ -33,7 +33,9 @@ do_stage() {
}
do_install () {
- install -d ${D}/sbin
+ install -d ${D}/sbin
+ install -d ${D}${sysconfdir}
install -m 755 ${S}/tools/env/fw_printenv ${D}/sbin/fw_printenv
install -m 755 ${S}/tools/env/fw_printenv ${D}/sbin/fw_setenv
+ install -m 644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
}
diff --git a/packages/uboot/u-boot-mkimage-gta01-native_svn.bb b/packages/uboot/u-boot-mkimage-gta01-native_svn.bb
new file mode 100644
index 0000000000..c93507fdd0
--- /dev/null
+++ b/packages/uboot/u-boot-mkimage-gta01-native_svn.bb
@@ -0,0 +1,18 @@
+require uboot-gta01_svn.bb
+
+PROVIDES = ""
+TARGET_LDFLAGS = ""
+
+do_compile () {
+ chmod +x board/neo1973/split_by_variant.sh
+ oe_runmake gta01bv3_config
+ oe_runmake clean
+ oe_runmake tools
+}
+
+do_deploy () {
+ install -m 0755 tools/mkimage ${STAGING_BINDIR_NATIVE}/uboot-mkimage
+}
+
+do_deploy[dirs] = "${S}"
+addtask deploy before do_package after do_install
diff --git a/packages/uboot/uboot-gta01_svn.bb b/packages/uboot/uboot-gta01_svn.bb
index b78b81dd17..0775bfcc91 100644
--- a/packages/uboot/uboot-gta01_svn.bb
+++ b/packages/uboot/uboot-gta01_svn.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "U-boot bootloader w/ Neo1973 (GTA01) support"
-AUTHOR = "Harald Welte <laforge@openmoko.org>
+AUTHOR = "Harald Welte <laforge@openmoko.org>"
LICENSE = "GPL"
SECTION = "bootloader"
PRIORITY = "optional"
diff --git a/packages/xorg-lib/diet-x11/makekeys.diff b/packages/xorg-lib/diet-x11/makekeys.diff
new file mode 100644
index 0000000000..cea08725ec
--- /dev/null
+++ b/packages/xorg-lib/diet-x11/makekeys.diff
@@ -0,0 +1,12 @@
+diff -Nru libX11-X11R7.1-1.0.1.org/src/util/makekeys.c libX11-X11R7.1-1.0.1/src/util/makekeys.c
+--- libX11-X11R7.1-1.0.1.org/src/util/makekeys.c 2007-03-08 14:34:34.000000000 +0100
++++ libX11-X11R7.1-1.0.1/src/util/makekeys.c 2007-03-08 14:34:58.000000000 +0100
+@@ -49,7 +49,7 @@
+ KeySym val;
+ } info[KTNUM];
+
+-#define MIN_REHASH 10
++#define MIN_REHASH 15
+ #define MATCHES 10
+
+ char tab[KTNUM];
diff --git a/packages/xorg-lib/diet-x11_X11R7.1-1.0.1.bb b/packages/xorg-lib/diet-x11_X11R7.1-1.0.1.bb
index 52e01dde75..81f92a5898 100644
--- a/packages/xorg-lib/diet-x11_X11R7.1-1.0.1.bb
+++ b/packages/xorg-lib/diet-x11_X11R7.1-1.0.1.bb
@@ -10,4 +10,5 @@ SRC_URI += "file://X18NCMSstubs.diff;patch=1 \
file://fix-disable-xlocale.diff;patch=1 \
file://fix-utf8-wrong-define.patch;patch=1 \
file://xim.patch;patch=1 \
- file://xchar2b.patch;patch=1"
+ file://xchar2b.patch;patch=1 \
+ file://makekeys.diff;patch=1"
diff --git a/packages/xorg-lib/libx11/makekeys.diff b/packages/xorg-lib/libx11/makekeys.diff
new file mode 100644
index 0000000000..cea08725ec
--- /dev/null
+++ b/packages/xorg-lib/libx11/makekeys.diff
@@ -0,0 +1,12 @@
+diff -Nru libX11-X11R7.1-1.0.1.org/src/util/makekeys.c libX11-X11R7.1-1.0.1/src/util/makekeys.c
+--- libX11-X11R7.1-1.0.1.org/src/util/makekeys.c 2007-03-08 14:34:34.000000000 +0100
++++ libX11-X11R7.1-1.0.1/src/util/makekeys.c 2007-03-08 14:34:58.000000000 +0100
+@@ -49,7 +49,7 @@
+ KeySym val;
+ } info[KTNUM];
+
+-#define MIN_REHASH 10
++#define MIN_REHASH 15
+ #define MATCHES 10
+
+ char tab[KTNUM];
diff --git a/packages/xorg-lib/libx11_X11R7.1-1.0.1.bb b/packages/xorg-lib/libx11_X11R7.1-1.0.1.bb
index 64f4585e0f..c6a701d9cb 100644
--- a/packages/xorg-lib/libx11_X11R7.1-1.0.1.bb
+++ b/packages/xorg-lib/libx11_X11R7.1-1.0.1.bb
@@ -3,6 +3,7 @@ require xorg-lib-common.inc
PR = "r4"
DESCRIPTION = "Base X libs."
+SRC_URI += "file://makekeys.diff;patch=1"
DEPENDS += " bigreqsproto xproto xextproto xtrans libxau xcmiscproto \
libxdmcp xf86bigfontproto kbproto inputproto"
diff --git a/packages/xserver-common/xserver-common_1.15.bb b/packages/xserver-common/xserver-common_1.15.bb
new file mode 100644
index 0000000000..d608231348
--- /dev/null
+++ b/packages/xserver-common/xserver-common_1.15.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Common X11 scripts and support files"
+LICENSE = "GPL"
+SECTION = "x11"
+RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo"
+PR = "r1"
+
+PACKAGE_ARCH = "all"
+
+# we are using a gpe-style Makefile
+inherit gpe
+
+SRC_URI_append = " file://setDPI.sh \
+ file://xserver-imageon.patch;patch=1"
+
+do_install_append() {
+ install -m 0755 "${WORKDIR}/setDPI.sh" "${D}/etc/X11/Xinit.d/50setdpi"
+}
diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver
index 983b875830..8b75496ba6 100644
--- a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver
+++ b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver
@@ -94,6 +94,9 @@ case `module_id` in
modprobe mbxfb
ARGS="$ARGS -fb /dev/fb1"
;;
+ "GTA01")
+ #we set 100 dpi for the time being, should the -dpi 285
+ ARGS="$ARGS -dpi 100 -screen 480x640" ;;
*)
# Its a device we dont know about - in which case force
# kdrive to use the current framebuffer geometry otherwise
diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb b/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb
index c076a3435a..88ed2e84b3 100644
--- a/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb
+++ b/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Common X11 scripts"
LICENSE = "GPL"
SECTION = "x11"
RDEPENDS_${PN} = "xmodmap libxrandr xdpyinfo xtscal xinit"
-PR = "r9"
+PR = "r11"
SRC_URI = "file://etc"
S = ${WORKDIR}
@@ -15,4 +15,4 @@ do_install() {
rm -fR ${D}/etc/*/.svn
rm -fR ${D}/etc/*/*/.svn
chmod -R 755 ${D}/etc
-} \ No newline at end of file
+}
diff --git a/packages/zd1211/zd1211-firmware_1.3.bb b/packages/zd1211/zd1211-firmware_1.3.bb
new file mode 100644
index 0000000000..e6f006971d
--- /dev/null
+++ b/packages/zd1211/zd1211-firmware_1.3.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "ZyDAS ZD1211 Firmware"
+HOMEPAGE = "http://zd1211.ath.cx/"
+SECTION = "net"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/zd1211/zd1211-firmware1.3.tar.bz2"
+
+S = "${WORKDIR}/${PN}"
+
+do_install() {
+ install -d -m 0755 ${D}/lib/firmware/zd1211
+ install -m 0644 ${S}/zd1211* ${D}/lib/firmware/zd1211/
+}
+
+FILES_${PN} = "/lib/firmware"