summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/image.bbclass (renamed from meta/classes/image_ipk.bbclass)26
-rw-r--r--meta/classes/multimachine.bbclass2
-rw-r--r--meta/classes/package_deb.bbclass236
-rw-r--r--meta/classes/package_ipk.bbclass6
-rw-r--r--meta/classes/package_rpm.bbclass1
-rw-r--r--meta/classes/package_tar.bbclass1
-rw-r--r--meta/classes/rootfs_deb.bbclass130
-rw-r--r--meta/classes/rootfs_ipk.bbclass7
-rw-r--r--meta/conf/bitbake.conf3
-rw-r--r--meta/conf/documentation.conf4
-rw-r--r--meta/conf/machine/akita.conf2
-rw-r--r--meta/conf/machine/cmx270.conf2
-rw-r--r--meta/conf/machine/include/ixp4xx.conf10
-rw-r--r--meta/conf/machine/include/tune-iwmmxt.conf2
-rw-r--r--meta/conf/machine/include/zaurus-clamshell.conf2
-rw-r--r--meta/conf/machine/ipaq-pxa270.conf2
-rw-r--r--meta/conf/machine/nokia770.conf2
-rw-r--r--meta/conf/machine/qemuarm.conf2
-rw-r--r--meta/conf/machine/qemux86.conf2
-rw-r--r--meta/conf/machine/spitz.conf2
-rw-r--r--meta/packages/apt/apt-0.6.45exp2/noconfigure.patch35
-rw-r--r--meta/packages/apt/apt-native.inc56
-rw-r--r--meta/packages/apt/apt-native_0.6.45exp2.bb3
-rw-r--r--meta/packages/apt/files/apt.conf16
-rw-r--r--meta/packages/dpkg/dpkg-native_1.13.22.bb3
-rw-r--r--meta/packages/dpkg/dpkg.inc28
-rw-r--r--meta/packages/dpkg/dpkg_1.13.22.bb5
-rw-r--r--meta/packages/dpkg/files/nochroot.patch18
-rw-r--r--meta/packages/dpkg/files/noupdalt.patch16
-rw-r--r--meta/packages/glibc/glibc-package.bbclass4
-rw-r--r--meta/packages/images/oh-image-base.bb4
-rw-r--r--meta/packages/images/oh-image-core.bb4
-rw-r--r--meta/packages/images/oh-image-pda.bb4
-rw-r--r--meta/packages/images/oh-image-sdk.bb4
-rw-r--r--meta/packages/ipkg/files/noupdalt.patch15
-rw-r--r--meta/packages/ipkg/ipkg-native.inc2
-rw-r--r--meta/packages/ipkg/ipkg.inc4
-rw-r--r--meta/packages/ipkg/ipkg_0.99.154.bb2
-rw-r--r--meta/packages/ncurses/ncurses.inc4
-rw-r--r--meta/packages/sysfsutils/sysfsutils_2.0.0.bb4
-rw-r--r--meta/packages/tasks/task-oh.bb4
-rw-r--r--meta/packages/update-alternatives/update-alternatives-cworth-native_0.99.154.bb11
-rw-r--r--meta/packages/update-alternatives/update-alternatives-cworth.inc6
-rw-r--r--meta/packages/update-alternatives/update-alternatives-cworth_0.99.154.bb11
-rw-r--r--meta/packages/update-alternatives/update-alternatives-dpkg-native_1.13.22.bb14
-rw-r--r--meta/packages/update-alternatives/update-alternatives-dpkg.inc20
-rw-r--r--meta/packages/update-alternatives/update-alternatives-dpkg_1.13.22.bb12
-rwxr-xr-xmeta/packages/web/web_svn.bb1
-rw-r--r--meta/packages/xorg-lib/libx11_X11R7.1-1.0.1.bb2
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive/xfbdev-fb-opt.patch36
-rw-r--r--meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb3
51 files changed, 679 insertions, 116 deletions
diff --git a/meta/classes/image_ipk.bbclass b/meta/classes/image.bbclass
index d5f21c5809..e995265244 100644
--- a/meta/classes/image_ipk.bbclass
+++ b/meta/classes/image.bbclass
@@ -1,4 +1,4 @@
1inherit rootfs_ipk 1inherit rootfs_${IMAGE_PKGTYPE}
2 2
3# We need to recursively follow RDEPENDS and RRECOMMENDS for images 3# We need to recursively follow RDEPENDS and RRECOMMENDS for images
4BUILD_ALL_DEPS = "1" 4BUILD_ALL_DEPS = "1"
@@ -37,12 +37,8 @@ fakeroot do_rootfs () {
37 makedevs -r ${IMAGE_ROOTFS} -D ${IMAGE_DEVICE_TABLE} 37 makedevs -r ${IMAGE_ROOTFS} -D ${IMAGE_DEVICE_TABLE}
38 fi 38 fi
39 39
40 real_do_rootfs 40 rootfs_${IMAGE_PKGTYPE}_do_rootfs
41 41
42 insert_feed_uris
43
44 rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/lists/oe
45
46 ${IMAGE_PREPROCESS_COMMAND} 42 ${IMAGE_PREPROCESS_COMMAND}
47 43
48 export TOPDIR=${TOPDIR} 44 export TOPDIR=${TOPDIR}
@@ -60,21 +56,3 @@ fakeroot do_rootfs () {
60 56
61 ${IMAGE_POSTPROCESS_COMMAND} 57 ${IMAGE_POSTPROCESS_COMMAND}
62} 58}
63
64insert_feed_uris () {
65
66 echo "Building feeds for [${DISTRO}].."
67
68 for line in ${FEED_URIS}
69 do
70 # strip leading and trailing spaces/tabs, then split into name and uri
71 line_clean="`echo "$line"|sed 's/^[ \t]*//;s/[ \t]*$//'`"
72 feed_name="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\1/p'`"
73 feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`"
74
75 echo "Added $feed_name feed with URL $feed_uri"
76
77 # insert new feed-sources
78 echo "src/gz $feed_name $feed_uri" >> ${IMAGE_ROOTFS}/etc/ipkg/${feed_name}-feed.conf
79 done
80}
diff --git a/meta/classes/multimachine.bbclass b/meta/classes/multimachine.bbclass
index 01dec648c3..4359d6c669 100644
--- a/meta/classes/multimachine.bbclass
+++ b/meta/classes/multimachine.bbclass
@@ -14,7 +14,7 @@ python __anonymous () {
14 14
15 # We could look for != PACKAGE_ARCH here but how to choose 15 # We could look for != PACKAGE_ARCH here but how to choose
16 # if multiple differences are present? 16 # if multiple differences are present?
17 # Look through IPKG_ARCHS for the priority order? 17 # Look through PACKAGE_ARCHS for the priority order?
18 if pkgarch and pkgarch == macharch: 18 if pkgarch and pkgarch == macharch:
19 multiarch = macharch 19 multiarch = macharch
20 20
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
new file mode 100644
index 0000000000..4526ac156c
--- /dev/null
+++ b/meta/classes/package_deb.bbclass
@@ -0,0 +1,236 @@
1inherit package
2DEPENDS_prepend="${@["dpkg-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
3BOOTSTRAP_EXTRA_RDEPENDS += "dpkg"
4DISTRO_EXTRA_RDEPENDS += "dpkg"
5PACKAGEFUNCS += "do_package_deb"
6IMAGE_PKGTYPE ?= "deb"
7
8python package_deb_fn () {
9 from bb import data
10 bb.data.setVar('PKGFN', bb.data.getVar('PKG',d), d)
11}
12
13addtask package_deb_install
14python do_package_deb_install () {
15 import os, sys
16 pkg = bb.data.getVar('PKG', d, 1)
17 pkgfn = bb.data.getVar('PKGFN', d, 1)
18 rootfs = bb.data.getVar('IMAGE_ROOTFS', d, 1)
19 debdir = bb.data.getVar('DEPLOY_DIR_DEB', d, 1)
20 stagingdir = bb.data.getVar('STAGING_DIR', d, 1)
21 stagingbindir = bb.data.getVar('STAGING_BINDIR', d, 1)
22 tmpdir = bb.data.getVar('TMPDIR', d, 1)
23
24 if None in (pkg,pkgfn,rootfs):
25 raise bb.build.FuncFailed("missing variables (one or more of PKG, PKGFN, IMAGE_ROOTFS)")
26 try:
27 if not os.exists(rootfs):
28 os.makedirs(rootfs)
29 os.chdir(rootfs)
30 except OSError:
31 raise bb.build.FuncFailed(str(sys.exc_value))
32
33 # update packages file
34 (exitstatus, output) = commands.getstatusoutput('dpkg-scanpackages %s > %s/Packages' % (debdir, debdir))
35 if (exitstatus != 0 ):
36 raise bb.build.FuncFailed(output)
37
38 f = open(os.path.join(os.path.join(tmpdir, "stamps"), "do_packages"), "w")
39 f.close()
40
41 # NOTE: this env stuff is racy at best, we need something more capable
42 # than 'commands' for command execution, which includes manipulating the
43 # env of the fork+execve'd processs
44
45 # Set up environment
46 apt_config = os.getenv('APT_CONFIG')
47 os.putenv('APT_CONFIG', os.path.join(stagingdir, 'etc', 'apt', 'apt.conf'))
48 path = os.getenv('PATH')
49 os.putenv('PATH', '%s:%s' % (stagingbindir, os.getenv('PATH')))
50
51 # install package
52 commands.getstatusoutput('apt-get update')
53 commands.getstatusoutput('apt-get install -y %s' % pkgfn)
54
55 # revert environment
56 os.putenv('APT_CONFIG', apt_config)
57 os.putenv('PATH', path)
58}
59
60python do_package_deb () {
61 import copy # to back up env data
62 import sys
63 import re
64
65 workdir = bb.data.getVar('WORKDIR', d, 1)
66 if not workdir:
67 bb.error("WORKDIR not defined, unable to package")
68 return
69
70 import os # path manipulations
71 outdir = bb.data.getVar('DEPLOY_DIR_DEB', d, 1)
72 if not outdir:
73 bb.error("DEPLOY_DIR_DEB not defined, unable to package")
74 return
75
76 dvar = bb.data.getVar('D', d, 1)
77 if not dvar:
78 bb.error("D not defined, unable to package")
79 return
80 bb.mkdirhier(dvar)
81
82 packages = bb.data.getVar('PACKAGES', d, 1)
83 if not packages:
84 bb.debug(1, "PACKAGES not defined, nothing to package")
85 return
86
87 tmpdir = bb.data.getVar('TMPDIR', d, 1)
88 # Invalidate the packages file
89 if os.access(os.path.join(os.path.join(tmpdir, "stamps"),"do_packages"),os.R_OK):
90 os.unlink(os.path.join(os.path.join(tmpdir, "stamps"),"do_packages"))
91
92 if packages == []:
93 bb.debug(1, "No packages; nothing to do")
94 return
95
96 for pkg in packages.split():
97 localdata = bb.data.createCopy(d)
98 root = "%s/install/%s" % (workdir, pkg)
99
100 bb.data.setVar('ROOT', '', localdata)
101 bb.data.setVar('ROOT_%s' % pkg, root, localdata)
102 pkgname = bb.data.getVar('PKG_%s' % pkg, localdata, 1)
103 if not pkgname:
104 pkgname = pkg
105 bb.data.setVar('PKG', pkgname, localdata)
106
107 overrides = bb.data.getVar('OVERRIDES', localdata)
108 if not overrides:
109 raise bb.build.FuncFailed('OVERRIDES not defined')
110 overrides = bb.data.expand(overrides, localdata)
111 bb.data.setVar('OVERRIDES', overrides + ':' + pkg, localdata)
112
113 bb.data.update_data(localdata)
114 basedir = os.path.join(os.path.dirname(root))
115
116 pkgoutdir = os.path.join(outdir, bb.data.getVar('PACKAGE_ARCH', localdata, 1))
117 bb.mkdirhier(pkgoutdir)
118
119 os.chdir(root)
120 from glob import glob
121 g = glob('*')
122 try:
123 del g[g.index('DEBIAN')]
124 del g[g.index('./DEBIAN')]
125 except ValueError:
126 pass
127 if not g and not bb.data.getVar('ALLOW_EMPTY', localdata):
128 from bb import note
129 note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1)))
130 continue
131 controldir = os.path.join(root, 'DEBIAN')
132 bb.mkdirhier(controldir)
133 try:
134 ctrlfile = file(os.path.join(controldir, 'control'), 'wb')
135 # import codecs
136 # ctrlfile = codecs.open("someFile", "w", "utf-8")
137 except OSError:
138 raise bb.build.FuncFailed("unable to open control file for writing.")
139
140 fields = []
141 fields.append(["Version: %s-%s\n", ['PV', 'PR']])
142 fields.append(["Description: %s\n", ['DESCRIPTION']])
143 fields.append(["Section: %s\n", ['SECTION']])
144 fields.append(["Priority: %s\n", ['PRIORITY']])
145 fields.append(["Maintainer: %s\n", ['MAINTAINER']])
146 fields.append(["Architecture: %s\n", ['TARGET_ARCH']])
147 fields.append(["OE: %s\n", ['P']])
148 fields.append(["Homepage: %s\n", ['HOMEPAGE']])
149
150# Package, Version, Maintainer, Description - mandatory
151# Section, Priority, Essential, Architecture, Source, Depends, Pre-Depends, Recommends, Suggests, Conflicts, Replaces, Provides - Optional
152
153
154 def pullData(l, d):
155 l2 = []
156 for i in l:
157 l2.append(bb.data.getVar(i, d, 1))
158 return l2
159
160 ctrlfile.write("Package: %s\n" % pkgname)
161 # check for required fields
162 try:
163 for (c, fs) in fields:
164 for f in fs:
165 if bb.data.getVar(f, localdata) is None:
166 raise KeyError(f)
167 ctrlfile.write(unicode(c % tuple(pullData(fs, localdata))))
168 except KeyError:
169 (type, value, traceback) = sys.exc_info()
170 ctrlfile.close()
171 raise bb.build.FuncFailed("Missing field for deb generation: %s" % value)
172 # more fields
173
174 bb.build.exec_func("mapping_rename_hook", localdata)
175
176 rdepends = explode_deps(unicode(bb.data.getVar("RDEPENDS", localdata, 1) or ""))
177 rdepends = [dep for dep in rdepends if not '*' in dep]
178 rrecommends = explode_deps(unicode(bb.data.getVar("RRECOMMENDS", localdata, 1) or ""))
179 rrecommends = [rec for rec in rrecommends if not '*' in rec]
180 rsuggests = (unicode(bb.data.getVar("RSUGGESTS", localdata, 1) or "")).split()
181 rprovides = (unicode(bb.data.getVar("RPROVIDES", localdata, 1) or "")).split()
182 rreplaces = (unicode(bb.data.getVar("RREPLACES", localdata, 1) or "")).split()
183 rconflicts = (unicode(bb.data.getVar("RCONFLICTS", localdata, 1) or "")).split()
184 if rdepends:
185 ctrlfile.write(u"Depends: %s\n" % ", ".join(rdepends))
186 if rsuggests:
187 ctrlfile.write(u"Suggests: %s\n" % ", ".join(rsuggests))
188 if rrecommends:
189 ctrlfile.write(u"Recommends: %s\n" % ", ".join(rrecommends))
190 if rprovides:
191 ctrlfile.write(u"Provides: %s\n" % ", ".join(rprovides))
192 if rreplaces:
193 ctrlfile.write(u"Replaces: %s\n" % ", ".join(rreplaces))
194 if rconflicts:
195 ctrlfile.write(u"Conflicts: %s\n" % ", ".join(rconflicts))
196 ctrlfile.close()
197
198 for script in ["preinst", "postinst", "prerm", "postrm"]:
199 scriptvar = bb.data.getVar('pkg_%s' % script, localdata, 1)
200 if not scriptvar:
201 continue
202 try:
203 scriptfile = file(os.path.join(controldir, script), 'w')
204 except OSError:
205 raise bb.build.FuncFailed("unable to open %s script file for writing." % script)
206 scriptfile.write(scriptvar)
207 scriptfile.close()
208 os.chmod(os.path.join(controldir, script), 0755)
209
210 conffiles_str = bb.data.getVar("CONFFILES", localdata, 1)
211 if conffiles_str:
212 try:
213 conffiles = file(os.path.join(controldir, 'conffiles'), 'w')
214 except OSError:
215 raise bb.build.FuncFailed("unable to open conffiles for writing.")
216 for f in conffiles_str.split():
217 conffiles.write('%s\n' % f)
218 conffiles.close()
219
220 os.chdir(basedir)
221 ret = os.system("PATH=\"%s\" dpkg-deb -b %s %s" % (bb.data.getVar("PATH", localdata, 1), root, pkgoutdir))
222 if ret != 0:
223 raise bb.build.FuncFailed("dpkg-deb execution failed")
224
225 for script in ["preinst", "postinst", "prerm", "postrm", "control" ]:
226 scriptfile = os.path.join(controldir, script)
227 try:
228 os.remove(scriptfile)
229 except OSError:
230 pass
231 try:
232 os.rmdir(controldir)
233 except OSError:
234 pass
235 del localdata
236}
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 9ae526bb3b..2847cee6e0 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -1,7 +1,9 @@
1inherit package 1inherit package
2DEPENDS_prepend="${@["ipkg-utils-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}" 2DEPENDS_prepend="${@["ipkg-utils-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
3BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link" 3BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
4DISTRO_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
4PACKAGEFUNCS += "do_package_ipk" 5PACKAGEFUNCS += "do_package_ipk"
6IMAGE_PKGTYPE ?= "ipk"
5 7
6python package_ipk_fn () { 8python package_ipk_fn () {
7 from bb import data 9 from bb import data
@@ -30,9 +32,9 @@ python package_ipk_install () {
30 # Generate ipk.conf if it or the stamp doesnt exist 32 # Generate ipk.conf if it or the stamp doesnt exist
31 conffile = os.path.join(stagingdir,"ipkg.conf") 33 conffile = os.path.join(stagingdir,"ipkg.conf")
32 if not os.access(conffile, os.R_OK): 34 if not os.access(conffile, os.R_OK):
33 ipkg_archs = bb.data.getVar('IPKG_ARCHS',d) 35 ipkg_archs = bb.data.getVar('PACKAGE_ARCHS',d)
34 if ipkg_archs is None: 36 if ipkg_archs is None:
35 bb.error("IPKG_ARCHS missing") 37 bb.error("PACKAGE_ARCHS missing")
36 raise FuncFailed 38 raise FuncFailed
37 ipkg_archs = ipkg_archs.split() 39 ipkg_archs = ipkg_archs.split()
38 arch_priority = 1 40 arch_priority = 1
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index c29ab5f423..ee579bed55 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -3,6 +3,7 @@ inherit rpm_core
3 3
4RPMBUILD="rpmbuild --short-circuit ${RPMOPTS}" 4RPMBUILD="rpmbuild --short-circuit ${RPMOPTS}"
5PACKAGEFUNCS += "do_package_rpm" 5PACKAGEFUNCS += "do_package_rpm"
6IMAGE_PKGTYPE ?= "rpm"
6 7
7python write_specfile() { 8python write_specfile() {
8 from bb import data, build 9 from bb import data, build
diff --git a/meta/classes/package_tar.bbclass b/meta/classes/package_tar.bbclass
index 359e35f113..d8c7919c3a 100644
--- a/meta/classes/package_tar.bbclass
+++ b/meta/classes/package_tar.bbclass
@@ -1,6 +1,7 @@
1inherit package 1inherit package
2 2
3PACKAGEFUNCS += "do_package_tar" 3PACKAGEFUNCS += "do_package_tar"
4IMAGE_PKGTYPE ?= "tar"
4 5
5python package_tar_fn () { 6python package_tar_fn () {
6 import os 7 import os
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass
new file mode 100644
index 0000000000..7712911b02
--- /dev/null
+++ b/meta/classes/rootfs_deb.bbclass
@@ -0,0 +1,130 @@
1DEPENDS_prepend = "dpkg-native apt-native fakeroot-native "
2DEPENDS_append = " ${EXTRA_IMAGEDEPENDS}"
3
4PACKAGES = ""
5
6do_rootfs[nostamp] = 1
7do_rootfs[dirs] = ${TOPDIR}
8do_build[nostamp] = 1
9
10ROOTFS_POSTPROCESS_COMMAND ?= ""
11
12PID = "${@os.getpid()}"
13
14# some default locales
15IMAGE_LINGUAS ?= "de-de fr-fr en-gb"
16
17LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s, bb.data.getVar('IMAGE_LINGUAS', d, 1).split()))}"
18
19fakeroot rootfs_deb_do_rootfs () {
20 set +e
21 mkdir -p ${IMAGE_ROOTFS}/var/dpkg/{info,updates}
22
23 rm -f ${STAGING_DIR}/etc/apt/sources.list
24 rm -f ${STAGING_DIR}/etc/apt/preferences
25 > ${IMAGE_ROOTFS}/var/dpkg/status
26 > ${IMAGE_ROOTFS}/var/dpkg/available
27 # > ${STAGING_DIR}/var/dpkg/status
28
29 priority=1
30 for arch in ${PACKAGE_ARCHS}; do
31 if [ ! -d ${DEPLOY_DIR_DEB}/$arch ]; then
32 continue;
33 fi
34 cd ${DEPLOY_DIR_DEB}/$arch
35 # if [ -z "${DEPLOY_KEEP_PACKAGES}" ]; then
36 rm -f Packages.gz Packages Packages.bz2
37 # fi
38 apt-ftparchive packages . | bzip2 > Packages.bz2
39
40 echo "deb file:${DEPLOY_DIR_DEB}/$arch/ ./" >> ${STAGING_DIR}/etc/apt/sources.list
41 (echo "Package: *"
42 echo "Pin origin ${DEPLOY_DIR_DEB}/$arch"
43 echo "Pin-Priority: $((800 + $priority))") >> ${STAGING_DIR}/etc/apt/preferences
44 priority=$(expr $priority + 5)
45 done
46
47 export APT_CONFIG="${STAGING_DIR}/etc/apt/apt.conf"
48 export D=${IMAGE_ROOTFS}
49 export OFFLINE_ROOT=${IMAGE_ROOTFS}
50 export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
51
52 apt-get update
53
54 _flag () {
55 sed -i -e "/^Package: $2\$/{n; s/Status: install ok .*/Status: install ok $1/;}" ${IMAGE_ROOTFS}/var/dpkg/status
56 }
57 _getflag () {
58 cat ${IMAGE_ROOTFS}/var/dpkg/status | sed -n -e "/^Package: $2\$/{n; s/Status: install ok .*/$1/; p}"
59 }
60
61 if [ ! -z "${LINGUAS_INSTALL}" ]; then
62 apt-get install glibc-localedata-i18n
63 if [ $? -eq 1 ]; then
64 exit 1
65 fi
66 for i in ${LINGUAS_INSTALL}; do
67 apt-get install $i
68 if [ $? -eq 1 ]; then
69 exit 1
70 fi
71 done
72 fi
73
74 if [ ! -z "${PACKAGE_INSTALL}" ]; then
75 for i in ${PACKAGE_INSTALL}; do
76 apt-get install $i
77 if [ $? -eq 1 ]; then
78 exit 1
79 fi
80 find ${IMAGE_ROOTFS} -name \*.dpkg-new | for i in `cat`; do
81 mv $i `echo $i | sed -e's,\.dpkg-new$,,'`
82 done
83 done
84 fi
85
86 install -d ${IMAGE_ROOTFS}/${sysconfdir}
87 echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version
88
89 for i in ${IMAGE_ROOTFS}/var/dpkg/info/*.preinst; do
90 if [ -f $i ] && ! sh $i; then
91 _flag unpacked `basename $i .preinst`
92 fi
93 done
94
95 for i in ${IMAGE_ROOTFS}/var/dpkg/info/*.postinst; do
96 if [ -f $i ] && ! sh $i configure; then
97 _flag unpacked `basename $i .postinst`
98 fi
99 done
100
101 set -e
102
103 ${ROOTFS_POSTPROCESS_COMMAND}
104}
105
106# set '*' as the rootpassword so the images
107# can decide if they want it or not
108
109zap_root_password () {
110 sed 's%^root:[^:]*:%root:*:%' < ${IMAGE_ROOTFS}/etc/passwd >${IMAGE_ROOTFS}/etc/passwd.new
111 mv ${IMAGE_ROOTFS}/etc/passwd.new ${IMAGE_ROOTFS}/etc/passwd
112}
113
114create_etc_timestamp() {
115 date +%2m%2d%2H%2M%Y >${IMAGE_ROOTFS}/etc/timestamp
116}
117
118# Turn any symbolic /sbin/init link into a file
119remove_init_link () {
120 if [ -h ${IMAGE_ROOTFS}/sbin/init ]; then
121 LINKFILE=${IMAGE_ROOTFS}`readlink ${IMAGE_ROOTFS}/sbin/init`
122 rm ${IMAGE_ROOTFS}/sbin/init
123 cp $LINKFILE ${IMAGE_ROOTFS}/sbin/init
124 fi
125}
126
127# export the zap_root_password, create_etc_timestamp and remote_init_link
128EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link do_rootfs
129
130addtask rootfs before do_build after do_install
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
index 8f9fddde14..e494666068 100644
--- a/meta/classes/rootfs_ipk.bbclass
+++ b/meta/classes/rootfs_ipk.bbclass
@@ -36,7 +36,7 @@ real_do_rootfs () {
36 fi 36 fi
37 mkdir -p ${T} 37 mkdir -p ${T}
38 echo "src oe file:${DEPLOY_DIR_IPK}" > ${T}/ipkg.conf 38 echo "src oe file:${DEPLOY_DIR_IPK}" > ${T}/ipkg.conf
39 ipkgarchs="${IPKG_ARCHS}" 39 ipkgarchs="${PACKAGE_ARCHS}"
40 priority=1 40 priority=1
41 for arch in $ipkgarchs; do 41 for arch in $ipkgarchs; do
42 echo "arch $arch $priority" >> ${T}/ipkg.conf 42 echo "arch $arch $priority" >> ${T}/ipkg.conf
@@ -49,11 +49,12 @@ real_do_rootfs () {
49 ipkg-cl ${IPKG_ARGS} install $i 49 ipkg-cl ${IPKG_ARGS} install $i
50 done 50 done
51 fi 51 fi
52 if [ ! -z "${IPKG_INSTALL}" ]; then 52 if [ ! -z "${PACKAGE_INSTALL}" ]; then
53 ipkg-cl ${IPKG_ARGS} install ${IPKG_INSTALL} 53 ipkg-cl ${IPKG_ARGS} install ${PACKAGE_INSTALL}
54 fi 54 fi
55 55
56 export D=${IMAGE_ROOTFS} 56 export D=${IMAGE_ROOTFS}
57 export OFFLINE_ROOT=${IMAGE_ROOTFS}
57 export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} 58 export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
58 mkdir -p ${IMAGE_ROOTFS}/etc/ipkg/ 59 mkdir -p ${IMAGE_ROOTFS}/etc/ipkg/
59 grep "^arch" ${T}/ipkg.conf >${IMAGE_ROOTFS}/etc/ipkg/arch.conf 60 grep "^arch" ${T}/ipkg.conf >${IMAGE_ROOTFS}/etc/ipkg/arch.conf
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 2001586ff7..a4a3c754b9 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -57,7 +57,7 @@ TARGET_CC_ARCH = ""
57 57
58PACKAGE_ARCH = "${HOST_ARCH}" 58PACKAGE_ARCH = "${HOST_ARCH}"
59MACHINE_ARCH = "${@[bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}" 59MACHINE_ARCH = "${@[bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}"
60IPKG_ARCHS = "all any noarch ${TARGET_ARCH} ${IPKG_EXTRA_ARCHS} ${MACHINE}" 60PACKAGE_ARCHS = "all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
61 61
62################################################################## 62##################################################################
63# Date/time variables. 63# Date/time variables.
@@ -159,6 +159,7 @@ DEPLOY_DIR = "${TMPDIR}/deploy"
159DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar" 159DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
160DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk" 160DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
161DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm" 161DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
162DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb"
162 163
163################################################################## 164##################################################################
164# Kernel info. 165# Kernel info.
diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf
index c07c8fa68b..699ac216eb 100644
--- a/meta/conf/documentation.conf
+++ b/meta/conf/documentation.conf
@@ -38,8 +38,8 @@ PACKAGE_ARCH[doc] = 'The architecture needed for using a resulting package. If y
38machine dependant configuration options in your bitbake file add a \ 38machine dependant configuration options in your bitbake file add a \
39PACKAGE_ARCH = "${MACHINE_ARCH}" to the file.' 39PACKAGE_ARCH = "${MACHINE_ARCH}" to the file.'
40 40
41IPKG_ARCHS[doc] = 'A list of architectures compatible with the given target in order of priority' 41PACKAGE_ARCHS[doc] = 'A list of architectures compatible with the given target in order of priority'
42IPKG_EXTRA_ARCHS[doc] = 'Set this variable to add extra architectures to the list of supported architectures' 42PACKAGE_EXTRA_ARCHS[doc] = 'Set this variable to add extra architectures to the list of supported architectures'
43 43
44DATE[doc] = "The date the build was started Ymd" 44DATE[doc] = "The date the build was started Ymd"
45TIME[doc] = "The time the build was started HMS" 45TIME[doc] = "The time the build was started HMS"
diff --git a/meta/conf/machine/akita.conf b/meta/conf/machine/akita.conf
index 0358864c70..0b0caebb3c 100644
--- a/meta/conf/machine/akita.conf
+++ b/meta/conf/machine/akita.conf
@@ -5,7 +5,7 @@
5include conf/machine/include/zaurus-clamshell.conf 5include conf/machine/include/zaurus-clamshell.conf
6include conf/machine/include/zaurus-clamshell-2.6.conf 6include conf/machine/include/zaurus-clamshell-2.6.conf
7 7
8IPKG_EXTRA_ARCHS += "iwmmxt" 8PACKAGE_EXTRA_ARCHS += "iwmmxt"
9IMAGE_FSTYPES ?= "jffs2" 9IMAGE_FSTYPES ?= "jffs2"
10 10
11ROOT_FLASH_SIZE = "58" 11ROOT_FLASH_SIZE = "58"
diff --git a/meta/conf/machine/cmx270.conf b/meta/conf/machine/cmx270.conf
index 2123d6294f..509da675ab 100644
--- a/meta/conf/machine/cmx270.conf
+++ b/meta/conf/machine/cmx270.conf
@@ -2,7 +2,7 @@
2#@NAME: Nokia 770 internet tablet 2#@NAME: Nokia 770 internet tablet
3#@DESCRIPTION: Machine configuration for the Compulab CM-X270 3#@DESCRIPTION: Machine configuration for the Compulab CM-X270
4TARGET_ARCH = "arm" 4TARGET_ARCH = "arm"
5IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te iwmmxt" 5PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te iwmmxt"
6 6
7EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x4000 -n" 7EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x4000 -n"
8 8
diff --git a/meta/conf/machine/include/ixp4xx.conf b/meta/conf/machine/include/ixp4xx.conf
index 93befb92ce..e545bbc1c0 100644
--- a/meta/conf/machine/include/ixp4xx.conf
+++ b/meta/conf/machine/include/ixp4xx.conf
@@ -111,7 +111,7 @@ TARGET_PACKAGE_ARCH = "${TARGET_PACKAGE_ARCH_BASE}${BYTE_SEX_CHAR}"
111# because everything built here is no more specific than that. 111# because everything built here is no more specific than that.
112MACHINE_ARCH = "ixp4xx${ARCH_BYTE_SEX}" 112MACHINE_ARCH = "ixp4xx${ARCH_BYTE_SEX}"
113 113
114# IPKG_EXTRA_ARCHS 114# PACKAGE_EXTRA_ARCHS
115# The full list of package architectures which should run on the system. 115# The full list of package architectures which should run on the system.
116# This takes into account both the board level issues and the INPUTS set 116# This takes into account both the board level issues and the INPUTS set
117# by the distro. The arm list is derived from the architecture settings 117# by the distro. The arm list is derived from the architecture settings
@@ -126,12 +126,12 @@ THUMB_ARCHITECTURES = "thumbe${BYTE_SEX_CHAR} thumbv4t${BYTE_SEX_CHAR} thumbv5t$
126# NOTE: this list contains just the things which rootfs_ipk.bbclass does 126# NOTE: this list contains just the things which rootfs_ipk.bbclass does
127# not add, rootfs_ipk.bbclass evaluates: 127# not add, rootfs_ipk.bbclass evaluates:
128# 128#
129# ipkgarchs="all any noarch ${TARGET_ARCH} ${IPKG_EXTRA_ARCHS} ${MACHINE}" 129# ipkgarchs="all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
130# 130#
131# This is a priority ordered list - most desireable architecture at the end, 131# This is a priority ordered list - most desireable architecture at the end,
132# so put <ARM_INSTRUCTION_SET>_ARCHITECTURES at the end and, if 132# so put <ARM_INSTRUCTION_SET>_ARCHITECTURES at the end and, if
133# THUMB_INTERWORK precede this with the other architectures. 133# THUMB_INTERWORK precede this with the other architectures.
134IPKG_EXTRA_ARCHS = "ixp4xx ${MACHINE} \ 134PACKAGE_EXTRA_ARCHS = "ixp4xx ${MACHINE} \
135 ${@(lambda arch_thumb, arch_arm, is_arm, interwork: \ 135 ${@(lambda arch_thumb, arch_arm, is_arm, interwork: \
136 (interwork and (is_arm and arch_thumb or arch_arm) + ' ' or '') \ 136 (interwork and (is_arm and arch_thumb or arch_arm) + ' ' or '') \
137 + '${TARGET_ARCH} ' + (is_arm and arch_arm or arch_thumb)) \ 137 + '${TARGET_ARCH} ' + (is_arm and arch_arm or arch_thumb)) \
@@ -141,12 +141,12 @@ IPKG_EXTRA_ARCHS = "ixp4xx ${MACHINE} \
141 bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes')} \ 141 bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes')} \
142 ${MACHINE_ARCH} ${MACHINE}${ARCH_BYTE_SEX}" 142 ${MACHINE_ARCH} ${MACHINE}${ARCH_BYTE_SEX}"
143 143
144# IPKG_ARCH_LIST [not used] 144# PACKAGE_ARCH_LIST [not used]
145# This is used to override the ipkgarchs settings in rootfs_ipk.bbclass, allowing 145# This is used to override the ipkgarchs settings in rootfs_ipk.bbclass, allowing
146# the removal of the raw "${MACHINE}" from the end of the list. ${MACHINE} and 146# the removal of the raw "${MACHINE}" from the end of the list. ${MACHINE} and
147# ixp4xx are included at the start (lower priority) as the non-byte-sex specific 147# ixp4xx are included at the start (lower priority) as the non-byte-sex specific
148# versions. 148# versions.
149IPKG_ARCH_LIST = "all any noarch ixp4xx ${MACHINE} ${IPKG_EXTRA_ARCHS}" 149PACKAGE_ARCH_LIST = "all any noarch ixp4xx ${MACHINE} ${PACKAGE_EXTRA_ARCHS}"
150 150
151#------------------------------------------------------------------------------- 151#-------------------------------------------------------------------------------
152# Package versions 152# Package versions
diff --git a/meta/conf/machine/include/tune-iwmmxt.conf b/meta/conf/machine/include/tune-iwmmxt.conf
index 990aee54bc..f9c8e7f5cf 100644
--- a/meta/conf/machine/include/tune-iwmmxt.conf
+++ b/meta/conf/machine/include/tune-iwmmxt.conf
@@ -1,6 +1,6 @@
1# Configurations for the Intel PXA27x Appications Processor Family. 1# Configurations for the Intel PXA27x Appications Processor Family.
2# Please use tune-xscale for PXA255/PXA26x based processors. 2# Please use tune-xscale for PXA255/PXA26x based processors.
3IPKG_EXTRA_ARCHS += "iwmmxt" 3PACKAGE_EXTRA_ARCHS += "iwmmxt"
4TARGET_CC_ARCH = "-march=iwmmxt -mcpu=iwmmxt -mtune=iwmmxt" 4TARGET_CC_ARCH = "-march=iwmmxt -mcpu=iwmmxt -mtune=iwmmxt"
5PACKAGE_ARCH = "iwmmxt" 5PACKAGE_ARCH = "iwmmxt"
6 6
diff --git a/meta/conf/machine/include/zaurus-clamshell.conf b/meta/conf/machine/include/zaurus-clamshell.conf
index e600a4926d..3c02f7bfd9 100644
--- a/meta/conf/machine/include/zaurus-clamshell.conf
+++ b/meta/conf/machine/include/zaurus-clamshell.conf
@@ -1,5 +1,5 @@
1TARGET_ARCH = "arm" 1TARGET_ARCH = "arm"
2IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te" 2PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te"
3 3
4PREFERRED_PROVIDER_xserver = "xserver-kdrive" 4PREFERRED_PROVIDER_xserver = "xserver-kdrive"
5 5
diff --git a/meta/conf/machine/ipaq-pxa270.conf b/meta/conf/machine/ipaq-pxa270.conf
index bd92ad5dee..cc4aea4fb6 100644
--- a/meta/conf/machine/ipaq-pxa270.conf
+++ b/meta/conf/machine/ipaq-pxa270.conf
@@ -3,7 +3,7 @@
3#@DESCRIPTION: Machine configuration for the iPAQ with a pxa27x CPU devices 3#@DESCRIPTION: Machine configuration for the iPAQ with a pxa27x CPU devices
4 4
5TARGET_ARCH = "arm" 5TARGET_ARCH = "arm"
6IPKG_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt ipaqpxa hx4700" 6PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt ipaqpxa hx4700"
7 7
8#use this for a hx2xxx ipaq 8#use this for a hx2xxx ipaq
9PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus" 9PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus"
diff --git a/meta/conf/machine/nokia770.conf b/meta/conf/machine/nokia770.conf
index 690b2403d8..6cc73c9232 100644
--- a/meta/conf/machine/nokia770.conf
+++ b/meta/conf/machine/nokia770.conf
@@ -2,7 +2,7 @@
2#@NAME: Nokia 770 internet tablet 2#@NAME: Nokia 770 internet tablet
3#@DESCRIPTION: Machine configuration for the Nokia 770, an omap 1710 based tablet 3#@DESCRIPTION: Machine configuration for the Nokia 770, an omap 1710 based tablet
4TARGET_ARCH = "arm" 4TARGET_ARCH = "arm"
5IPKG_EXTRA_ARCHS = "armv4 armv5te" 5PACKAGE_EXTRA_ARCHS = "armv4 armv5te"
6 6
7PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-omap" 7PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-omap"
8PREFERRED_PROVIDER_virtual/bootloader = "" 8PREFERRED_PROVIDER_virtual/bootloader = ""
diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf
index a64a58e9a2..2affa6693f 100644
--- a/meta/conf/machine/qemuarm.conf
+++ b/meta/conf/machine/qemuarm.conf
@@ -3,7 +3,7 @@
3#@DESCRIPTION: Machine configuration for running an ARM system under qemu emulation 3#@DESCRIPTION: Machine configuration for running an ARM system under qemu emulation
4 4
5TARGET_ARCH = "arm" 5TARGET_ARCH = "arm"
6IPKG_EXTRA_ARCHS = "armv4 armv5te" 6PACKAGE_EXTRA_ARCHS = "armv4 armv5te"
7 7
8require conf/machine/include/qemu.conf 8require conf/machine/include/qemu.conf
9require conf/machine/include/tune-arm926ejs.conf 9require conf/machine/include/tune-arm926ejs.conf
diff --git a/meta/conf/machine/qemux86.conf b/meta/conf/machine/qemux86.conf
index 83bf7391a9..63e318908e 100644
--- a/meta/conf/machine/qemux86.conf
+++ b/meta/conf/machine/qemux86.conf
@@ -4,7 +4,7 @@
4 4
5TARGET_ARCH = "i586" 5TARGET_ARCH = "i586"
6TARGET_VENDOR = "-oe" 6TARGET_VENDOR = "-oe"
7IPKG_EXTRA_ARCHS = "x86" 7PACKAGE_EXTRA_ARCHS = "x86"
8 8
9require conf/machine/include/qemu.conf 9require conf/machine/include/qemu.conf
10# require conf/machine/include/tune-arm926ejs.conf 10# require conf/machine/include/tune-arm926ejs.conf
diff --git a/meta/conf/machine/spitz.conf b/meta/conf/machine/spitz.conf
index af50217e0f..cf2c5f3f4f 100644
--- a/meta/conf/machine/spitz.conf
+++ b/meta/conf/machine/spitz.conf
@@ -7,7 +7,7 @@ include conf/machine/include/zaurus-clamshell-2.6.conf
7 7
8PIVOTBOOT_EXTRA_RDEPENDS += "pivotinit ${PCMCIA_MANAGER}" 8PIVOTBOOT_EXTRA_RDEPENDS += "pivotinit ${PCMCIA_MANAGER}"
9 9
10IPKG_EXTRA_ARCHS += "iwmmxt" 10PACKAGE_EXTRA_ARCHS += "iwmmxt"
11IMAGE_FSTYPES ?= "tar.gz" 11IMAGE_FSTYPES ?= "tar.gz"
12 12
13ROOT_FLASH_SIZE = "100" 13ROOT_FLASH_SIZE = "100"
diff --git a/meta/packages/apt/apt-0.6.45exp2/noconfigure.patch b/meta/packages/apt/apt-0.6.45exp2/noconfigure.patch
new file mode 100644
index 0000000000..682a96da24
--- /dev/null
+++ b/meta/packages/apt/apt-0.6.45exp2/noconfigure.patch
@@ -0,0 +1,35 @@
1---
2 apt-pkg/packagemanager.cc | 4 ++++
3 1 file changed, 4 insertions(+)
4
5--- apt-0.6.45exp2.orig/apt-pkg/packagemanager.cc
6+++ apt-0.6.45exp2/apt-pkg/packagemanager.cc
7@@ -534,10 +534,12 @@ bool pkgPackageManager::SmartUnPack(PkgI
8
9 List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States);
10
11+#if 0
12 // Perform immedate configuration of the package.
13 if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true)
14 if (SmartConfigure(Pkg) == false)
15 return _error->Error("Internal Error, Could not perform immediate configuration (2) on %s",Pkg.Name());
16+#endif
17
18 return true;
19 }
20@@ -609,6 +611,7 @@ pkgPackageManager::OrderResult pkgPackag
21 DoneSomething = true;
22 }
23
24+#if 0
25 // Final run through the configure phase
26 if (ConfigureAll() == false)
27 return Failed;
28@@ -623,6 +626,7 @@ pkgPackageManager::OrderResult pkgPackag
29 return Failed;
30 }
31 }
32+#endif
33
34 return Completed;
35 }
diff --git a/meta/packages/apt/apt-native.inc b/meta/packages/apt/apt-native.inc
index 4ace9e94bb..de9426bf70 100644
--- a/meta/packages/apt/apt-native.inc
+++ b/meta/packages/apt/apt-native.inc
@@ -19,39 +19,43 @@ python do_stage_config () {
19 19
20 data = bb.data.expand(data, d) 20 data = bb.data.expand(data, d)
21 21
22 outpath = bb.data.expand('${STAGING_DIR}/${sysconfdir}/apt.conf', d) 22 outdir = os.path.join(bb.data.getVar('sysconfdir', d, 1), 'apt')
23 if not os.path.exists(outdir):
24 os.makedirs(outdir)
25 outpath = os.path.join(outdir, 'apt.conf')
26
23 outfile = file(outpath, 'w') 27 outfile = file(outpath, 'w')
24 outfile.write(data) 28 outfile.write(data)
25 outfile.close() 29 outfile.close()
26} 30}
27 31
28do_stage_base () { 32do_stage_base () {
29 install -d ${STAGING_BINDIR} 33 install -d ${bindir}
30 install -m 0755 bin/apt-cdrom ${STAGING_BINDIR}/ 34 install -m 0755 bin/apt-cdrom ${bindir}/
31 install -m 0755 bin/apt-get ${STAGING_BINDIR}/ 35 install -m 0755 bin/apt-get ${bindir}/
32 install -m 0755 bin/apt-config ${STAGING_BINDIR}/ 36 install -m 0755 bin/apt-config ${bindir}/
33 install -m 0755 bin/apt-cache ${STAGING_BINDIR}/ 37 install -m 0755 bin/apt-cache ${bindir}/
34 38
35 install -m 0755 bin/apt-sortpkgs ${STAGING_BINDIR}/ 39 install -m 0755 bin/apt-sortpkgs ${bindir}/
36 install -m 0755 bin/apt-extracttemplates ${STAGING_BINDIR}/ 40 install -m 0755 bin/apt-extracttemplates ${bindir}/
37 41
38 eval `cat environment.mak | grep ^GLIBC_VER | sed -e's, = ,=,'` 42 eval `cat environment.mak | grep ^GLIBC_VER | sed -e's, = ,=,'`
39 oe_libinstall -so -C bin libapt-pkg$GLIBC_VER-6 ${STAGING_LIBDIR}/ 43 oe_libinstall -so -C bin libapt-pkg$GLIBC_VER-6 ${libdir}/
40 ln -sf libapt-pkg$GLIBC_VER-6.so ${STAGING_LIBDIR}/libapt-pkg.so 44 ln -sf libapt-pkg$GLIBC_VER-6.so ${libdir}/libapt-pkg.so
41 oe_libinstall -so -C bin libapt-inst$GLIBC_VER-6 ${STAGING_LIBDIR}/ 45 oe_libinstall -so -C bin libapt-inst$GLIBC_VER-6 ${libdir}/
42 ln -sf libapt-inst$GLIBC_VER-6.so ${STAGING_LIBDIR}/libapt-inst.so 46 ln -sf libapt-inst$GLIBC_VER-6.so ${libdir}/libapt-inst.so
43 47
44 install -d ${STAGING_LIBDIR}/apt/methods 48 install -d ${libdir}/apt/methods
45 install -m 0755 bin/methods/* ${STAGING_LIBDIR}/apt/methods/ 49 install -m 0755 bin/methods/* ${libdir}/apt/methods/
46 50
47 install -d ${STAGING_LIBDIR}/dpkg/methods/apt 51 install -d ${libdir}/dpkg/methods/apt
48 install -m 0644 dselect/desc.apt ${STAGING_LIBDIR}/dpkg/methods/apt/ 52 install -m 0644 dselect/desc.apt ${libdir}/dpkg/methods/apt/
49 install -m 0644 dselect/names ${STAGING_LIBDIR}/dpkg/methods/apt/ 53 install -m 0644 dselect/names ${libdir}/dpkg/methods/apt/
50 install -m 0755 dselect/install ${STAGING_LIBDIR}/dpkg/methods/apt/ 54 install -m 0755 dselect/install ${libdir}/dpkg/methods/apt/
51 install -m 0755 dselect/setup ${STAGING_LIBDIR}/dpkg/methods/apt/ 55 install -m 0755 dselect/setup ${libdir}/dpkg/methods/apt/
52 install -m 0755 dselect/update ${STAGING_LIBDIR}/dpkg/methods/apt/ 56 install -m 0755 dselect/update ${libdir}/dpkg/methods/apt/
53 57
54 install -d ${STAGING_DIR}${sysconfdir}/apt 58 install -d ${sysconfdir}/apt
55 install -d ${STAGING_DIR}${localstatedir}/lib/apt/lists/partial 59 install -d ${localstatedir}/lib/apt/lists/partial
56 install -d ${STAGING_DIR}${localstatedir}/cache/apt/archives/partial 60 install -d ${localstatedir}/cache/apt/archives/partial
57} 61}
diff --git a/meta/packages/apt/apt-native_0.6.45exp2.bb b/meta/packages/apt/apt-native_0.6.45exp2.bb
index 32f19e8e4c..43f73889f7 100644
--- a/meta/packages/apt/apt-native_0.6.45exp2.bb
+++ b/meta/packages/apt/apt-native_0.6.45exp2.bb
@@ -1,3 +1,4 @@
1require apt-native.inc 1require apt-native.inc
2 2
3SRC_URI += "file://nodoc.patch;patch=1" 3SRC_URI += "file://nodoc.patch;patch=1 \
4 file://noconfigure.patch;patch=1"
diff --git a/meta/packages/apt/files/apt.conf b/meta/packages/apt/files/apt.conf
index 944233c347..37785871db 100644
--- a/meta/packages/apt/files/apt.conf
+++ b/meta/packages/apt/files/apt.conf
@@ -3,7 +3,7 @@ Dir "${STAGING_DIR}/"
3 State "var/lib/apt/" 3 State "var/lib/apt/"
4 { 4 {
5 Lists "lists/"; 5 Lists "lists/";
6 status "${IMAGE_ROOTFS}/${localstatedir}/lib/dpkg/status"; 6 status "${IMAGE_ROOTFS}/var/dpkg/status";
7 }; 7 };
8 Cache "var/cache/apt/" 8 Cache "var/cache/apt/"
9 { 9 {
@@ -22,3 +22,17 @@ Dir "${STAGING_DIR}/"
22 apt-cache "apt-cache"; 22 apt-cache "apt-cache";
23 }; 23 };
24}; 24};
25
26APT
27{
28 Immediate-Configure "false";
29 Architecture "i586";
30 Get
31 {
32 Assume-Yes "true";
33 Force-Yes "true"
34 };
35};
36
37DPkg::Options {"--root=${IMAGE_ROOTFS}";"--admindir=${IMAGE_ROOTFS}/var/dpkg";"--force-all";"--no-debsig"};
38};
diff --git a/meta/packages/dpkg/dpkg-native_1.13.22.bb b/meta/packages/dpkg/dpkg-native_1.13.22.bb
index 2f196c2ea6..db71ab08e8 100644
--- a/meta/packages/dpkg/dpkg-native_1.13.22.bb
+++ b/meta/packages/dpkg/dpkg-native_1.13.22.bb
@@ -1,8 +1,9 @@
1require dpkg.inc 1require dpkg.inc
2PR = "r1"
3DEPENDS += "ncurses-native zlib-native virtual/update-alternatives"
2SRC_URI += "file://noman.patch;patch=1" 4SRC_URI += "file://noman.patch;patch=1"
3 5
4inherit native 6inherit native
5inherit autotools gettext
6 7
7EXTRA_OECONF = "--without-static-progs \ 8EXTRA_OECONF = "--without-static-progs \
8 --without-dselect \ 9 --without-dselect \
diff --git a/meta/packages/dpkg/dpkg.inc b/meta/packages/dpkg/dpkg.inc
index 3c3f29c304..0d2053ab0f 100644
--- a/meta/packages/dpkg/dpkg.inc
+++ b/meta/packages/dpkg/dpkg.inc
@@ -1,10 +1,34 @@
1DESCRIPTION = "Package maintenance system for Debian." 1DESCRIPTION = "Package maintenance system for Debian."
2LICENSE = "GPL" 2LICENSE = "GPL"
3SECTION = "base" 3SECTION = "base"
4DEPENDS = "ncurses zlib"
5MAINTAINER = "Chris Larson <kergoth@handhelds.org>" 4MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
6 5
7SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.gz" 6SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.gz \
7 file://noupdalt.patch;patch=1"
8S = "${WORKDIR}/dpkg-${PV}" 8S = "${WORKDIR}/dpkg-${PV}"
9 9
10DEPENDS_${PN} += "update-alternatives"
11
10PARALLEL_MAKE = "" 12PARALLEL_MAKE = ""
13
14inherit autotools gettext
15
16DPKG_INIT_POSITION = "98"
17DPKG_INIT_POSITION_slugos = "41"
18
19pkg_postinst_dpkg () {
20#!/bin/sh
21if [ "x$D" != "x" ]; then
22 install -d ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d
23 # this happens at S98 where our good 'ole packages script used to run
24 echo -e "#!/bin/sh
25 dpkg --configure -a
26" > ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
27 chmod 0755 ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
28fi
29}
30
31do_configure () {
32 echo >> m4/compiler.m4
33 autotools_do_configure
34}
diff --git a/meta/packages/dpkg/dpkg_1.13.22.bb b/meta/packages/dpkg/dpkg_1.13.22.bb
index 08a9c06fbf..bcf45392b4 100644
--- a/meta/packages/dpkg/dpkg_1.13.22.bb
+++ b/meta/packages/dpkg/dpkg_1.13.22.bb
@@ -1,7 +1,6 @@
1require dpkg.inc 1require dpkg.inc
2DEPENDS += "bzip2" 2PR = "r2"
3 3DEPENDS += "ncurses zlib bzip2"
4inherit autotools gettext
5 4
6EXTRA_OECONF = "--without-static-progs \ 5EXTRA_OECONF = "--without-static-progs \
7 --without-dselect \ 6 --without-dselect \
diff --git a/meta/packages/dpkg/files/nochroot.patch b/meta/packages/dpkg/files/nochroot.patch
new file mode 100644
index 0000000000..3a8beaebbf
--- /dev/null
+++ b/meta/packages/dpkg/files/nochroot.patch
@@ -0,0 +1,18 @@
1---
2 src/help.c | 2 ++
3 1 file changed, 2 insertions(+)
4
5--- dpkg-1.13.22.orig/src/help.c
6+++ dpkg-1.13.22/src/help.c
7@@ -175,9 +175,11 @@ static const char* preexecscript(const c
8 */
9 size_t instdirl;
10
11+#if 0
12 if (*instdir) {
13 if (chroot(instdir)) ohshite(_("failed to chroot to `%.250s'"),instdir);
14 }
15+#endif
16 if (f_debug & dbg_scripts) {
17 fprintf(stderr,"D0%05o: fork/exec %s (",dbg_scripts,path);
18 while (*++argv) fprintf(stderr," %s",*argv);
diff --git a/meta/packages/dpkg/files/noupdalt.patch b/meta/packages/dpkg/files/noupdalt.patch
new file mode 100644
index 0000000000..023e99ae8d
--- /dev/null
+++ b/meta/packages/dpkg/files/noupdalt.patch
@@ -0,0 +1,16 @@
1---
2 scripts/Makefile.am | 3 +--
3 1 file changed, 1 insertion(+), 2 deletions(-)
4
5--- dpkg-1.13.22.orig/scripts/Makefile.am
6+++ dpkg-1.13.22/scripts/Makefile.am
7@@ -20,8 +20,7 @@ bin_SCRIPTS = \
8 sbin_SCRIPTS = \
9 cleanup-info \
10 dpkg-divert \
11- dpkg-statoverride \
12- update-alternatives
13+ dpkg-statoverride
14
15 changelogdir = $(pkglibdir)/parsechangelog
16 changelog_SCRIPTS = \
diff --git a/meta/packages/glibc/glibc-package.bbclass b/meta/packages/glibc/glibc-package.bbclass
index 3ce10b54de..6b191434ed 100644
--- a/meta/packages/glibc/glibc-package.bbclass
+++ b/meta/packages/glibc/glibc-package.bbclass
@@ -194,6 +194,10 @@ python package_do_split_gconvs () {
194 if m: 194 if m:
195 dp = legitimize_package_name('glibc-localedata-%s' % m.group(1)) 195 dp = legitimize_package_name('glibc-localedata-%s' % m.group(1))
196 if not dp in deps: 196 if not dp in deps:
197 if '<' in dp:
198 bb.note('warning, dp is %s' % dp)
199 bb.note(' fn is %s' % fn)
200 bb.note(' line was %s' % l)
197 deps.append(dp) 201 deps.append(dp)
198 f.close() 202 f.close()
199 if deps != []: 203 if deps != []:
diff --git a/meta/packages/images/oh-image-base.bb b/meta/packages/images/oh-image-base.bb
index 2bc152b998..4a61e70519 100644
--- a/meta/packages/images/oh-image-base.bb
+++ b/meta/packages/images/oh-image-base.bb
@@ -6,7 +6,7 @@ DEPENDS = "task-oh"
6 6
7RDEPENDS = "task-oh-boot task-oh-boot-extras" 7RDEPENDS = "task-oh-boot task-oh-boot-extras"
8 8
9export IPKG_INSTALL = "${RDEPENDS}" 9export PACKAGE_INSTALL = "${RDEPENDS}"
10 10
11inherit image_ipk 11inherit image
12LICENSE = MIT 12LICENSE = MIT
diff --git a/meta/packages/images/oh-image-core.bb b/meta/packages/images/oh-image-core.bb
index 73f7afbe16..e416d84843 100644
--- a/meta/packages/images/oh-image-core.bb
+++ b/meta/packages/images/oh-image-core.bb
@@ -9,7 +9,7 @@ RDEPENDS = "\
9 task-oh-boot-extras \ 9 task-oh-boot-extras \
10 task-oh-base " 10 task-oh-base "
11 11
12export IPKG_INSTALL = "${RDEPENDS}" 12export PACKAGE_INSTALL = "${RDEPENDS}"
13 13
14inherit image_ipk 14inherit image
15LICENSE = MIT 15LICENSE = MIT
diff --git a/meta/packages/images/oh-image-pda.bb b/meta/packages/images/oh-image-pda.bb
index de2f3e0a4c..d4576a0c55 100644
--- a/meta/packages/images/oh-image-pda.bb
+++ b/meta/packages/images/oh-image-pda.bb
@@ -12,7 +12,7 @@ RDEPENDS = "\
12 ${@base_conditional("DISTRO_TYPE", "debug", "task-oh-devtools", "",d)} \ 12 ${@base_conditional("DISTRO_TYPE", "debug", "task-oh-devtools", "",d)} \
13 ${@base_conditional("DISTRO_TYPE", "debug", "task-oh-testapps", "",d)} " 13 ${@base_conditional("DISTRO_TYPE", "debug", "task-oh-testapps", "",d)} "
14 14
15export IPKG_INSTALL = "${RDEPENDS}" 15export PACKAGE_INSTALL = "${RDEPENDS}"
16 16
17inherit image_ipk 17inherit image
18LICENSE = MIT 18LICENSE = MIT
diff --git a/meta/packages/images/oh-image-sdk.bb b/meta/packages/images/oh-image-sdk.bb
index 71b1c300b5..08e37a7b89 100644
--- a/meta/packages/images/oh-image-sdk.bb
+++ b/meta/packages/images/oh-image-sdk.bb
@@ -15,7 +15,7 @@ RDEPENDS = "\
15 task-oh-testapps \ 15 task-oh-testapps \
16 task-oh-sdk " 16 task-oh-sdk "
17 17
18export IPKG_INSTALL = "${RDEPENDS}" 18export PACKAGE_INSTALL = "${RDEPENDS}"
19 19
20inherit image_ipk 20inherit image
21LICENSE = MIT 21LICENSE = MIT
diff --git a/meta/packages/ipkg/files/noupdalt.patch b/meta/packages/ipkg/files/noupdalt.patch
new file mode 100644
index 0000000000..f668e82f6b
--- /dev/null
+++ b/meta/packages/ipkg/files/noupdalt.patch
@@ -0,0 +1,15 @@
1---
2 Makefile.am | 2 --
3 1 file changed, 2 deletions(-)
4
5--- C.orig/Makefile.am
6+++ C/Makefile.am
7@@ -10,8 +10,6 @@ bin_PROGRAMS = ipkg-cl
8
9 lib_LTLIBRARIES = libipkg.la
10
11-bin_SCRIPTS = update-alternatives
12-
13 # ipkg_LDADD = libbb/libbb.a replace/libreplace.a
14
15 #ipkg_cl_LDADD = libipkg.la libbb/libbb.la replace/libreplace.a
diff --git a/meta/packages/ipkg/ipkg-native.inc b/meta/packages/ipkg/ipkg-native.inc
index b52b7b5e20..070086a638 100644
--- a/meta/packages/ipkg/ipkg-native.inc
+++ b/meta/packages/ipkg/ipkg-native.inc
@@ -7,6 +7,6 @@ inherit native
7 7
8EXTRA_OECONF += "--with-ipkgdir=${target_libdir}/ipkg" 8EXTRA_OECONF += "--with-ipkgdir=${target_libdir}/ipkg"
9 9
10DEPENDS = "libtool-native automake-native" 10DEPENDS = "libtool-native automake-native virtual/update-alternatives"
11FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-${PV}" 11FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-${PV}"
12PROVIDES = "" 12PROVIDES = ""
diff --git a/meta/packages/ipkg/ipkg.inc b/meta/packages/ipkg/ipkg.inc
index 49bdd22c08..e72ece633b 100644
--- a/meta/packages/ipkg/ipkg.inc
+++ b/meta/packages/ipkg/ipkg.inc
@@ -5,13 +5,15 @@ LICENSE = "GPL"
5PROVIDES = "virtual/ipkg libipkg" 5PROVIDES = "virtual/ipkg libipkg"
6 6
7PACKAGES =+ "libipkg-dev libipkg" 7PACKAGES =+ "libipkg-dev libipkg"
8RDEPENDS_${PN} += "update-alternatives"
8FILES_libipkg-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so" 9FILES_libipkg-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so"
9FILES_libipkg = "${libdir}" 10FILES_libipkg = "${libdir}"
10AUTO_LIBNAME_PKGS = "libipkg" 11AUTO_LIBNAME_PKGS = "libipkg"
11 12
12SRC_URI = "${HANDHELDS_CVS};module=familiar/dist/ipkg;tag=${@'V' + bb.data.getVar('PV',d,1).replace('.', '-')} \ 13SRC_URI = "${HANDHELDS_CVS};module=familiar/dist/ipkg;tag=${@'V' + bb.data.getVar('PV',d,1).replace('.', '-')} \
13 file://fix_tar_extension.patch;patch=1 \ 14 file://fix_tar_extension.patch;patch=1 \
14 file://terse.patch;patch=1" 15 file://terse.patch;patch=1 \
16 file://noupdalt.patch;patch=1"
15 17
16S = "${WORKDIR}/ipkg/C" 18S = "${WORKDIR}/ipkg/C"
17 19
diff --git a/meta/packages/ipkg/ipkg_0.99.154.bb b/meta/packages/ipkg/ipkg_0.99.154.bb
index 20a1996658..eb36fa67cb 100644
--- a/meta/packages/ipkg/ipkg_0.99.154.bb
+++ b/meta/packages/ipkg/ipkg_0.99.154.bb
@@ -1,2 +1,2 @@
1require ipkg.inc 1require ipkg.inc
2PR = "r4" 2PR = "r5"
diff --git a/meta/packages/ncurses/ncurses.inc b/meta/packages/ncurses/ncurses.inc
index 030cd1034c..bc0bb4603c 100644
--- a/meta/packages/ncurses/ncurses.inc
+++ b/meta/packages/ncurses/ncurses.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html"
3LICENSE = "MIT" 3LICENSE = "MIT"
4SECTION = "libs" 4SECTION = "libs"
5DEPENDS = "ncurses-native" 5DEPENDS = "ncurses-native"
6PACKAGES_prepend = "ncurses-tools " 6PACKAGES =+ "ncurses-tools "
7PACKAGES_append = " ncurses-terminfo" 7PACKAGES += " ncurses-terminfo"
8FILES_ncurses_append = " ${datadir}/tabset" 8FILES_ncurses_append = " ${datadir}/tabset"
9RSUGGESTS_${PN} = "ncurses-terminfo" 9RSUGGESTS_${PN} = "ncurses-terminfo"
10RPROVIDES = "libncurses5" 10RPROVIDES = "libncurses5"
diff --git a/meta/packages/sysfsutils/sysfsutils_2.0.0.bb b/meta/packages/sysfsutils/sysfsutils_2.0.0.bb
index 176c8870e4..252990cba5 100644
--- a/meta/packages/sysfsutils/sysfsutils_2.0.0.bb
+++ b/meta/packages/sysfsutils/sysfsutils_2.0.0.bb
@@ -12,8 +12,8 @@ inherit autotools
12 12
13includedir += "/sysfs" 13includedir += "/sysfs"
14 14
15PACKAGES_prepend = "libsysfs " 15# PACKAGES_prepend = "libsysfs "
16FILES_libsysfs = "${libdir}/*.so.2.0.0" 16# FILES_libsysfs = "${libdir}/*.so.2.0.0"
17 17
18do_stage () { 18do_stage () {
19 oe_libinstall -a -so -C lib libsysfs ${STAGING_LIBDIR} 19 oe_libinstall -a -so -C lib libsysfs ${STAGING_LIBDIR}
diff --git a/meta/packages/tasks/task-oh.bb b/meta/packages/tasks/task-oh.bb
index 6b8125966b..e0ffb73cfb 100644
--- a/meta/packages/tasks/task-oh.bb
+++ b/meta/packages/tasks/task-oh.bb
@@ -1,6 +1,6 @@
1DESCRIPTION = "Tasks for OpenedHand Poky" 1DESCRIPTION = "Tasks for OpenedHand Poky"
2MAINTAINER = "Richard Purdie <richard@openedhand.com>" 2MAINTAINER = "Richard Purdie <richard@openedhand.com>"
3PR = "r41" 3PR = "r42"
4 4
5PACKAGES = "\ 5PACKAGES = "\
6 task-oh-base \ 6 task-oh-base \
@@ -27,7 +27,7 @@ RDEPENDS_task-oh-boot = "\
27 modutils-initscripts \ 27 modutils-initscripts \
28 fuser \ 28 fuser \
29 setserial \ 29 setserial \
30 ipkg \ 30 update-alternatives \
31 module-init-tools-depmod" 31 module-init-tools-depmod"
32# linux-hotplug \ 32# linux-hotplug \
33 33
diff --git a/meta/packages/update-alternatives/update-alternatives-cworth-native_0.99.154.bb b/meta/packages/update-alternatives/update-alternatives-cworth-native_0.99.154.bb
new file mode 100644
index 0000000000..99f8c07244
--- /dev/null
+++ b/meta/packages/update-alternatives/update-alternatives-cworth-native_0.99.154.bb
@@ -0,0 +1,11 @@
1require update-alternatives-cworth.inc
2inherit native
3
4PROVIDES += "virtual/update-alternatives"
5
6do_stage () {
7 install -d ${sbindir} \
8 ${libdir}/ipkg/alternatives
9
10 install -m 0755 update-alternatives ${sbindir}/update-alternatives
11}
diff --git a/meta/packages/update-alternatives/update-alternatives-cworth.inc b/meta/packages/update-alternatives/update-alternatives-cworth.inc
new file mode 100644
index 0000000000..e5bf1c8e27
--- /dev/null
+++ b/meta/packages/update-alternatives/update-alternatives-cworth.inc
@@ -0,0 +1,6 @@
1LICENSE = "GPL"
2SECTION = "base"
3MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
4SRC_URI = "${HANDHELDS_CVS};module=familiar/dist/ipkg;tag=${@'V' + bb.data.getVar('PV',d,1).replace('.', '-')}"
5S = "${WORKDIR}/ipkg/C"
6PACKAGE_ARCH = "all"
diff --git a/meta/packages/update-alternatives/update-alternatives-cworth_0.99.154.bb b/meta/packages/update-alternatives/update-alternatives-cworth_0.99.154.bb
new file mode 100644
index 0000000000..18dab4e65f
--- /dev/null
+++ b/meta/packages/update-alternatives/update-alternatives-cworth_0.99.154.bb
@@ -0,0 +1,11 @@
1require update-alternatives-cworth.inc
2
3RPROVIDES_${PN} = "update-alternatives"
4
5do_install () {
6 install -d ${D}${sbindir} \
7 ${D}${sysconfdir}/alternatives \
8 ${D}${libdir}/ipkg/alternatives
9
10 install -m 0755 update-alternatives ${D}${sbindir}/update-alternatives
11}
diff --git a/meta/packages/update-alternatives/update-alternatives-dpkg-native_1.13.22.bb b/meta/packages/update-alternatives/update-alternatives-dpkg-native_1.13.22.bb
new file mode 100644
index 0000000000..f621e6a13f
--- /dev/null
+++ b/meta/packages/update-alternatives/update-alternatives-dpkg-native_1.13.22.bb
@@ -0,0 +1,14 @@
1require update-alternatives-dpkg.inc
2inherit native
3
4PROVIDES += "virtual/update-alternatives"
5DEPENDS += "perl-native dpkg-native"
6DEFAULT_PREFERENCE = "-1"
7
8do_stage () {
9 install -d ${sbindir} \
10 ${localstatedir}/dpkg/alternatives \
11 ${sysconfdir}/alternatives
12
13 install -m 0755 scripts/update-alternatives ${sbindir}/update-alternatives
14}
diff --git a/meta/packages/update-alternatives/update-alternatives-dpkg.inc b/meta/packages/update-alternatives/update-alternatives-dpkg.inc
new file mode 100644
index 0000000000..e767ed632b
--- /dev/null
+++ b/meta/packages/update-alternatives/update-alternatives-dpkg.inc
@@ -0,0 +1,20 @@
1LICENSE = "GPL"
2SECTION = "base"
3MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
4SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.gz"
5S = "${WORKDIR}/dpkg-${PV}"
6PACKAGE_ARCH = "all"
7
8do_patch () {
9 cat ${S}/scripts/update-alternatives.pl | \
10 sed -n -e '
11 /^\$admindir=.*staging/{
12 x
13 s/^.*$/$D=$ENV{"D"} || ""\;/;
14 p;
15 x;
16 s,^\$admindir=.*staging.*$,$admindir="$D${localstatedir}/dpkg"\;,;
17 };
18 s,^\$altdir=.*$,$altdir="$D${sysconfdir}/alternatives"\;,;
19 p;' > ${S}/scripts/update-alternatives
20}
diff --git a/meta/packages/update-alternatives/update-alternatives-dpkg_1.13.22.bb b/meta/packages/update-alternatives/update-alternatives-dpkg_1.13.22.bb
new file mode 100644
index 0000000000..a07d5e36d4
--- /dev/null
+++ b/meta/packages/update-alternatives/update-alternatives-dpkg_1.13.22.bb
@@ -0,0 +1,12 @@
1require update-alternatives-dpkg.inc
2
3RPROVIDES_${PN} = "update-alternatives"
4RDEPENDS_${PN} = "perl dpkg"
5
6do_install () {
7 install -d ${D}${sbindir} \
8 ${D}${localstatedir}/dpkg/alternatives \
9 ${D}${sysconfdir}/alternatives
10
11 install -m 0755 scripts/update-alternatives ${D}${sbindir}/update-alternatives
12}
diff --git a/meta/packages/web/web_svn.bb b/meta/packages/web/web_svn.bb
index f79df30c42..018cbc9bec 100755
--- a/meta/packages/web/web_svn.bb
+++ b/meta/packages/web/web_svn.bb
@@ -4,6 +4,7 @@ DEPENDS = "libxml2 glib-2.0 gtk+ libglade gtkhtml2 curl gconf js"
4MAINTAINER = "Chris Lord <chris@openedhand.com>" 4MAINTAINER = "Chris Lord <chris@openedhand.com>"
5DESCRIPTION = "Web is a multi-platform web browsing application." 5DESCRIPTION = "Web is a multi-platform web browsing application."
6 6
7PV = "0.0+svn${SRCDATE}"
7PR = "r1" 8PR = "r1"
8SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http" 9SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http"
9S = "${WORKDIR}/trunk" 10S = "${WORKDIR}/trunk"
diff --git a/meta/packages/xorg-lib/libx11_X11R7.1-1.0.1.bb b/meta/packages/xorg-lib/libx11_X11R7.1-1.0.1.bb
index b31ed72998..bbd4993345 100644
--- a/meta/packages/xorg-lib/libx11_X11R7.1-1.0.1.bb
+++ b/meta/packages/xorg-lib/libx11_X11R7.1-1.0.1.bb
@@ -5,7 +5,7 @@ DESCRIPTION = "Base X libs."
5DEPENDS += " bigreqsproto xproto xextproto xtrans libxau xcmiscproto \ 5DEPENDS += " bigreqsproto xproto xextproto xtrans libxau xcmiscproto \
6 libxdmcp xf86bigfontproto kbproto inputproto" 6 libxdmcp xf86bigfontproto kbproto inputproto"
7PROVIDES = "virtual/libx11" 7PROVIDES = "virtual/libx11"
8RPROVIDES = "virtual/libx11" 8# RPROVIDES = "virtual/libx11"
9 9
10XORG_PN = "libX11" 10XORG_PN = "libX11"
11 11
diff --git a/meta/packages/xorg-xserver/xserver-kdrive/xfbdev-fb-opt.patch b/meta/packages/xorg-xserver/xserver-kdrive/xfbdev-fb-opt.patch
index 89a56719d7..a8f002ea2a 100644
--- a/meta/packages/xorg-xserver/xserver-kdrive/xfbdev-fb-opt.patch
+++ b/meta/packages/xorg-xserver/xserver-kdrive/xfbdev-fb-opt.patch
@@ -1,8 +1,18 @@
1diff --git a/hw/kdrive/fbdev/fbdev.c b/hw/kdrive/fbdev/fbdev.c 1---
2index 86384f0..904d5f3 100644 2 hw/kdrive/fbdev/fbdev.c | 17 ++++++++++++-----
3--- a/hw/kdrive/fbdev/fbdev.c 3 hw/kdrive/fbdev/fbdev.h | 1 +
4+++ b/hw/kdrive/fbdev/fbdev.c 4 hw/kdrive/fbdev/fbinit.c | 20 ++++++++++++++++----
5@@ -38,11 +38,17 @@ fbdevInitialize (KdCardInfo *card, Fbdev 5 3 files changed, 29 insertions(+), 9 deletions(-)
6
7--- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbdev.c
8+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbdev.c
9@@ -33,16 +33,23 @@
10
11 extern int KdTsPhyScreen;
12
13+char *fbdevDevicePath = NULL;
14 Bool
15 fbdevInitialize (KdCardInfo *card, FbdevPriv *priv)
6 { 16 {
7 int k; 17 int k;
8 unsigned long off; 18 unsigned long off;
@@ -25,10 +35,8 @@ index 86384f0..904d5f3 100644
25 /* quiet valgrind */ 35 /* quiet valgrind */
26 memset (&priv->fix, '\0', sizeof (priv->fix)); 36 memset (&priv->fix, '\0', sizeof (priv->fix));
27 if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0) { 37 if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0) {
28diff --git a/hw/kdrive/fbdev/fbdev.h b/hw/kdrive/fbdev/fbdev.h 38--- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbdev.h
29index d37b995..b7951db 100644 39+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbdev.h
30--- a/hw/kdrive/fbdev/fbdev.h
31+++ b/hw/kdrive/fbdev/fbdev.h
32@@ -53,6 +53,7 @@ typedef struct _fbdevScrPriv { 40@@ -53,6 +53,7 @@ typedef struct _fbdevScrPriv {
33 } FbdevScrPriv; 41 } FbdevScrPriv;
34 42
@@ -37,11 +45,9 @@ index d37b995..b7951db 100644
37 45
38 Bool 46 Bool
39 fbdevInitialize (KdCardInfo *card, FbdevPriv *priv); 47 fbdevInitialize (KdCardInfo *card, FbdevPriv *priv);
40diff --git a/hw/kdrive/fbdev/fbinit.c b/hw/kdrive/fbdev/fbinit.c 48--- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbinit.c
41index ba9d1c6..1a7e4bf 100644 49+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbinit.c
42--- a/hw/kdrive/fbdev/fbinit.c 50@@ -59,16 +59,28 @@ InitInput (int argc, char **argv)
43+++ b/hw/kdrive/fbdev/fbinit.c
44@@ -54,17 +54,30 @@ InitInput (int argc, char **argv)
45 void 51 void
46 ddxUseMsg (void) 52 ddxUseMsg (void)
47 { 53 {
@@ -72,7 +78,5 @@ index ba9d1c6..1a7e4bf 100644
72+ return KdProcessArgument (argc, argv, i); 78+ return KdProcessArgument (argc, argv, i);
73+} 79+}
74 80
75+char *fbdevDevicePath = NULL;
76 KdCardFuncs fbdevFuncs = { 81 KdCardFuncs fbdevFuncs = {
77 fbdevCardInit, /* cardinit */ 82 fbdevCardInit, /* cardinit */
78 fbdevScreenInit, /* scrinit */
diff --git a/meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb b/meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb
index 92857dc62b..987b46021f 100644
--- a/meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb
+++ b/meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb
@@ -2,7 +2,7 @@ LICENSE = "MIT"
2DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto" 2DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto"
3 3
4PROVIDES = "virtual/xserver" 4PROVIDES = "virtual/xserver"
5RPROVIDES = "virtual/xserver" 5# RPROVIDES = "virtual/xserver"
6PACKAGES = "xserver-kdrive-fbdev xserver-kdrive-fake xserver-kdrive-xephyr ${PN}-doc ${PN}-dev ${PN}-locale" 6PACKAGES = "xserver-kdrive-fbdev xserver-kdrive-fake xserver-kdrive-xephyr ${PN}-doc ${PN}-dev ${PN}-locale"
7SECTION = "x11/base" 7SECTION = "x11/base"
8DESCRIPTION = "X server from freedesktop.org" 8DESCRIPTION = "X server from freedesktop.org"
@@ -32,6 +32,7 @@ SRC_URI = "http://ftp.x.org/pub/X11R7.1/src/xserver/xorg-server-X11R7.1-1.1.0.ta
32 32
33SRC_URI_append_mnci = " file://onlyfb.patch;patch=1" 33SRC_URI_append_mnci = " file://onlyfb.patch;patch=1"
34SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1" 34SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1"
35SRC_URI_append_qemux86 = " file://xserver-kdrive-poodle.patch;patch=1"
35PACKAGE_ARCH_poodle = "poodle" 36PACKAGE_ARCH_poodle = "poodle"
36 37
37S = "${WORKDIR}/xorg-server-X11R7.1-1.1.0" 38S = "${WORKDIR}/xorg-server-X11R7.1-1.1.0"