]> code.ossystems Code Review - openembedded-core.git/commitdiff
Sync up.. all the deb/dpkg changes which I have locally are now in svn.
authorChris Larson <kergoth@openedhand.com>
Tue, 19 Sep 2006 09:04:09 +0000 (09:04 +0000)
committerChris Larson <kergoth@openedhand.com>
Tue, 19 Sep 2006 09:04:09 +0000 (09:04 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@728 311d38ba-8fff-0310-9ca6-ca027cbcb966

51 files changed:
meta/classes/image.bbclass [moved from meta/classes/image_ipk.bbclass with 69% similarity]
meta/classes/multimachine.bbclass
meta/classes/package_deb.bbclass [new file with mode: 0644]
meta/classes/package_ipk.bbclass
meta/classes/package_rpm.bbclass
meta/classes/package_tar.bbclass
meta/classes/rootfs_deb.bbclass [new file with mode: 0644]
meta/classes/rootfs_ipk.bbclass
meta/conf/bitbake.conf
meta/conf/documentation.conf
meta/conf/machine/akita.conf
meta/conf/machine/cmx270.conf
meta/conf/machine/include/ixp4xx.conf
meta/conf/machine/include/tune-iwmmxt.conf
meta/conf/machine/include/zaurus-clamshell.conf
meta/conf/machine/ipaq-pxa270.conf
meta/conf/machine/nokia770.conf
meta/conf/machine/qemuarm.conf
meta/conf/machine/qemux86.conf
meta/conf/machine/spitz.conf
meta/packages/apt/apt-0.6.45exp2/noconfigure.patch [new file with mode: 0644]
meta/packages/apt/apt-native.inc
meta/packages/apt/apt-native_0.6.45exp2.bb
meta/packages/apt/files/apt.conf
meta/packages/dpkg/dpkg-native_1.13.22.bb
meta/packages/dpkg/dpkg.inc
meta/packages/dpkg/dpkg_1.13.22.bb
meta/packages/dpkg/files/nochroot.patch [new file with mode: 0644]
meta/packages/dpkg/files/noupdalt.patch [new file with mode: 0644]
meta/packages/glibc/glibc-package.bbclass
meta/packages/images/oh-image-base.bb
meta/packages/images/oh-image-core.bb
meta/packages/images/oh-image-pda.bb
meta/packages/images/oh-image-sdk.bb
meta/packages/ipkg/files/noupdalt.patch [new file with mode: 0644]
meta/packages/ipkg/ipkg-native.inc
meta/packages/ipkg/ipkg.inc
meta/packages/ipkg/ipkg_0.99.154.bb
meta/packages/ncurses/ncurses.inc
meta/packages/sysfsutils/sysfsutils_2.0.0.bb
meta/packages/tasks/task-oh.bb
meta/packages/update-alternatives/update-alternatives-cworth-native_0.99.154.bb [new file with mode: 0644]
meta/packages/update-alternatives/update-alternatives-cworth.inc [new file with mode: 0644]
meta/packages/update-alternatives/update-alternatives-cworth_0.99.154.bb [new file with mode: 0644]
meta/packages/update-alternatives/update-alternatives-dpkg-native_1.13.22.bb [new file with mode: 0644]
meta/packages/update-alternatives/update-alternatives-dpkg.inc [new file with mode: 0644]
meta/packages/update-alternatives/update-alternatives-dpkg_1.13.22.bb [new file with mode: 0644]
meta/packages/web/web_svn.bb
meta/packages/xorg-lib/libx11_X11R7.1-1.0.1.bb
meta/packages/xorg-xserver/xserver-kdrive/xfbdev-fb-opt.patch
meta/packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb

similarity index 69%
rename from meta/classes/image_ipk.bbclass
rename to meta/classes/image.bbclass
index d5f21c580961b2ce4f11f0ef2a8bba6820835e14..e9952652446b5b6539a0082f2cf0888d6fd70310 100644 (file)
@@ -1,4 +1,4 @@
-inherit rootfs_ipk
+inherit rootfs_${IMAGE_PKGTYPE}
 
 # We need to recursively follow RDEPENDS and RRECOMMENDS for images
 BUILD_ALL_DEPS = "1"
@@ -37,12 +37,8 @@ fakeroot do_rootfs () {
                makedevs -r ${IMAGE_ROOTFS} -D ${IMAGE_DEVICE_TABLE}
        fi
 
-       real_do_rootfs
+       rootfs_${IMAGE_PKGTYPE}_do_rootfs
 
-       insert_feed_uris        
-
-       rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/lists/oe
-       
        ${IMAGE_PREPROCESS_COMMAND}
                
        export TOPDIR=${TOPDIR}
@@ -60,21 +56,3 @@ fakeroot do_rootfs () {
 
        ${IMAGE_POSTPROCESS_COMMAND}
 }
-
-insert_feed_uris () {
-       
-       echo "Building feeds for [${DISTRO}].."
-               
-       for line in ${FEED_URIS}
-       do
-               # strip leading and trailing spaces/tabs, then split into name and uri
-               line_clean="`echo "$line"|sed 's/^[ \t]*//;s/[ \t]*$//'`"
-               feed_name="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\1/p'`"
-               feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`"                                        
-               
-               echo "Added $feed_name feed with URL $feed_uri"
-               
-               # insert new feed-sources
-               echo "src/gz $feed_name $feed_uri" >> ${IMAGE_ROOTFS}/etc/ipkg/${feed_name}-feed.conf
-       done                    
-}
index 01dec648c30c633588b7fdf6bad17b0f99a3ffe6..4359d6c66935b78e2ddec8f80872cd8a63407f9c 100644 (file)
@@ -14,7 +14,7 @@ python __anonymous () {
 
                # We could look for != PACKAGE_ARCH here but how to choose 
                # if multiple differences are present?
-               # Look through IPKG_ARCHS for the priority order?
+               # Look through PACKAGE_ARCHS for the priority order?
                if pkgarch and pkgarch == macharch:
                        multiarch = macharch
 
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
new file mode 100644 (file)
index 0000000..4526ac1
--- /dev/null
@@ -0,0 +1,236 @@
+inherit package
+DEPENDS_prepend="${@["dpkg-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
+BOOTSTRAP_EXTRA_RDEPENDS += "dpkg"
+DISTRO_EXTRA_RDEPENDS += "dpkg"
+PACKAGEFUNCS += "do_package_deb"
+IMAGE_PKGTYPE ?= "deb"
+
+python package_deb_fn () {
+    from bb import data
+    bb.data.setVar('PKGFN', bb.data.getVar('PKG',d), d)
+}
+
+addtask package_deb_install
+python do_package_deb_install () {
+    import os, sys
+    pkg = bb.data.getVar('PKG', d, 1)
+    pkgfn = bb.data.getVar('PKGFN', d, 1)
+    rootfs = bb.data.getVar('IMAGE_ROOTFS', d, 1)
+    debdir = bb.data.getVar('DEPLOY_DIR_DEB', d, 1)
+    stagingdir = bb.data.getVar('STAGING_DIR', d, 1)
+    stagingbindir = bb.data.getVar('STAGING_BINDIR', d, 1)
+    tmpdir = bb.data.getVar('TMPDIR', d, 1)
+
+    if None in (pkg,pkgfn,rootfs):
+        raise bb.build.FuncFailed("missing variables (one or more of PKG, PKGFN, IMAGE_ROOTFS)")
+    try:
+        if not os.exists(rootfs):
+            os.makedirs(rootfs)
+        os.chdir(rootfs)
+    except OSError:
+        raise bb.build.FuncFailed(str(sys.exc_value))
+
+    # update packages file
+    (exitstatus, output) = commands.getstatusoutput('dpkg-scanpackages %s > %s/Packages' % (debdir, debdir))
+    if (exitstatus != 0 ):
+        raise bb.build.FuncFailed(output)
+
+    f = open(os.path.join(os.path.join(tmpdir, "stamps"), "do_packages"), "w")
+    f.close()
+
+    # NOTE: this env stuff is racy at best, we need something more capable
+    # than 'commands' for command execution, which includes manipulating the
+    # env of the fork+execve'd processs
+
+    # Set up environment
+    apt_config = os.getenv('APT_CONFIG')
+    os.putenv('APT_CONFIG', os.path.join(stagingdir, 'etc', 'apt', 'apt.conf'))
+    path = os.getenv('PATH')
+    os.putenv('PATH', '%s:%s' % (stagingbindir, os.getenv('PATH')))
+
+    # install package
+    commands.getstatusoutput('apt-get update')
+    commands.getstatusoutput('apt-get install -y %s' % pkgfn)
+
+    # revert environment
+    os.putenv('APT_CONFIG', apt_config)
+    os.putenv('PATH', path)
+}
+
+python do_package_deb () {
+    import copy # to back up env data
+    import sys
+    import re
+
+    workdir = bb.data.getVar('WORKDIR', d, 1)
+    if not workdir:
+        bb.error("WORKDIR not defined, unable to package")
+        return
+
+    import os # path manipulations
+    outdir = bb.data.getVar('DEPLOY_DIR_DEB', d, 1)
+    if not outdir:
+        bb.error("DEPLOY_DIR_DEB not defined, unable to package")
+        return
+
+    dvar = bb.data.getVar('D', d, 1)
+    if not dvar:
+        bb.error("D not defined, unable to package")
+        return
+    bb.mkdirhier(dvar)
+
+    packages = bb.data.getVar('PACKAGES', d, 1)
+    if not packages:
+        bb.debug(1, "PACKAGES not defined, nothing to package")
+        return
+
+    tmpdir = bb.data.getVar('TMPDIR', d, 1)
+    # Invalidate the packages file
+    if os.access(os.path.join(os.path.join(tmpdir, "stamps"),"do_packages"),os.R_OK):
+        os.unlink(os.path.join(os.path.join(tmpdir, "stamps"),"do_packages"))
+
+    if packages == []:
+        bb.debug(1, "No packages; nothing to do")
+        return
+
+    for pkg in packages.split():
+        localdata = bb.data.createCopy(d)
+        root = "%s/install/%s" % (workdir, pkg)
+
+        bb.data.setVar('ROOT', '', localdata)
+        bb.data.setVar('ROOT_%s' % pkg, root, localdata)
+        pkgname = bb.data.getVar('PKG_%s' % pkg, localdata, 1)
+        if not pkgname:
+            pkgname = pkg
+        bb.data.setVar('PKG', pkgname, localdata)
+
+        overrides = bb.data.getVar('OVERRIDES', localdata)
+        if not overrides:
+            raise bb.build.FuncFailed('OVERRIDES not defined')
+        overrides = bb.data.expand(overrides, localdata)
+        bb.data.setVar('OVERRIDES', overrides + ':' + pkg, localdata)
+
+        bb.data.update_data(localdata)
+        basedir = os.path.join(os.path.dirname(root))
+
+        pkgoutdir = os.path.join(outdir, bb.data.getVar('PACKAGE_ARCH', localdata, 1))
+        bb.mkdirhier(pkgoutdir)
+
+        os.chdir(root)
+        from glob import glob
+        g = glob('*')
+        try:
+            del g[g.index('DEBIAN')]
+            del g[g.index('./DEBIAN')]
+        except ValueError:
+            pass
+        if not g and not bb.data.getVar('ALLOW_EMPTY', localdata):
+            from bb import note
+            note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1)))
+            continue
+        controldir = os.path.join(root, 'DEBIAN')
+        bb.mkdirhier(controldir)
+        try:
+            ctrlfile = file(os.path.join(controldir, 'control'), 'wb')
+            # import codecs
+            # ctrlfile = codecs.open("someFile", "w", "utf-8")
+        except OSError:
+            raise bb.build.FuncFailed("unable to open control file for writing.")
+
+        fields = []
+        fields.append(["Version: %s-%s\n", ['PV', 'PR']])
+        fields.append(["Description: %s\n", ['DESCRIPTION']])
+        fields.append(["Section: %s\n", ['SECTION']])
+        fields.append(["Priority: %s\n", ['PRIORITY']])
+        fields.append(["Maintainer: %s\n", ['MAINTAINER']])
+        fields.append(["Architecture: %s\n", ['TARGET_ARCH']])
+        fields.append(["OE: %s\n", ['P']])
+        fields.append(["Homepage: %s\n", ['HOMEPAGE']])
+
+#        Package, Version, Maintainer, Description - mandatory
+#        Section, Priority, Essential, Architecture, Source, Depends, Pre-Depends, Recommends, Suggests, Conflicts, Replaces, Provides - Optional
+
+
+        def pullData(l, d):
+            l2 = []
+            for i in l:
+                l2.append(bb.data.getVar(i, d, 1))
+            return l2
+
+        ctrlfile.write("Package: %s\n" % pkgname)
+        # check for required fields
+        try:
+            for (c, fs) in fields:
+                for f in fs:
+                    if bb.data.getVar(f, localdata) is None:
+                        raise KeyError(f)
+                ctrlfile.write(unicode(c % tuple(pullData(fs, localdata))))
+        except KeyError:
+            (type, value, traceback) = sys.exc_info()
+            ctrlfile.close()
+            raise bb.build.FuncFailed("Missing field for deb generation: %s" % value)
+        # more fields
+
+        bb.build.exec_func("mapping_rename_hook", localdata)
+
+        rdepends = explode_deps(unicode(bb.data.getVar("RDEPENDS", localdata, 1) or ""))
+        rdepends = [dep for dep in rdepends if not '*' in dep]
+        rrecommends = explode_deps(unicode(bb.data.getVar("RRECOMMENDS", localdata, 1) or ""))
+        rrecommends = [rec for rec in rrecommends if not '*' in rec]
+        rsuggests = (unicode(bb.data.getVar("RSUGGESTS", localdata, 1) or "")).split()
+        rprovides = (unicode(bb.data.getVar("RPROVIDES", localdata, 1) or "")).split()
+        rreplaces = (unicode(bb.data.getVar("RREPLACES", localdata, 1) or "")).split()
+        rconflicts = (unicode(bb.data.getVar("RCONFLICTS", localdata, 1) or "")).split()
+        if rdepends:
+            ctrlfile.write(u"Depends: %s\n" % ", ".join(rdepends))
+        if rsuggests:
+            ctrlfile.write(u"Suggests: %s\n" % ", ".join(rsuggests))
+        if rrecommends:
+            ctrlfile.write(u"Recommends: %s\n" % ", ".join(rrecommends))
+        if rprovides:
+            ctrlfile.write(u"Provides: %s\n" % ", ".join(rprovides))
+        if rreplaces:
+            ctrlfile.write(u"Replaces: %s\n" % ", ".join(rreplaces))
+        if rconflicts:
+            ctrlfile.write(u"Conflicts: %s\n" % ", ".join(rconflicts))
+        ctrlfile.close()
+
+        for script in ["preinst", "postinst", "prerm", "postrm"]:
+            scriptvar = bb.data.getVar('pkg_%s' % script, localdata, 1)
+            if not scriptvar:
+                continue
+            try:
+                scriptfile = file(os.path.join(controldir, script), 'w')
+            except OSError:
+                raise bb.build.FuncFailed("unable to open %s script file for writing." % script)
+            scriptfile.write(scriptvar)
+            scriptfile.close()
+            os.chmod(os.path.join(controldir, script), 0755)
+
+        conffiles_str = bb.data.getVar("CONFFILES", localdata, 1)
+        if conffiles_str:
+            try:
+                conffiles = file(os.path.join(controldir, 'conffiles'), 'w')
+            except OSError:
+                raise bb.build.FuncFailed("unable to open conffiles for writing.")
+            for f in conffiles_str.split():
+                conffiles.write('%s\n' % f)
+            conffiles.close()
+
+        os.chdir(basedir)
+        ret = os.system("PATH=\"%s\" dpkg-deb -b %s %s" % (bb.data.getVar("PATH", localdata, 1), root, pkgoutdir))
+        if ret != 0:
+            raise bb.build.FuncFailed("dpkg-deb execution failed")
+
+        for script in ["preinst", "postinst", "prerm", "postrm", "control" ]:
+            scriptfile = os.path.join(controldir, script)
+            try:
+                os.remove(scriptfile)
+            except OSError:
+                pass
+        try:
+            os.rmdir(controldir)
+        except OSError:
+            pass
+        del localdata
+}
index 9ae526bb3b6d0ff5e12994be4ac1762575cce759..2847cee6e05ebbe20cc390df21bc960843f65568 100644 (file)
@@ -1,7 +1,9 @@
 inherit package
 DEPENDS_prepend="${@["ipkg-utils-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
 BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
+DISTRO_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
 PACKAGEFUNCS += "do_package_ipk"
+IMAGE_PKGTYPE ?= "ipk"
 
 python package_ipk_fn () {
        from bb import data
@@ -30,9 +32,9 @@ python package_ipk_install () {
        # Generate ipk.conf if it or the stamp doesnt exist
        conffile = os.path.join(stagingdir,"ipkg.conf")
        if not  os.access(conffile, os.R_OK):
-               ipkg_archs = bb.data.getVar('IPKG_ARCHS',d)
+               ipkg_archs = bb.data.getVar('PACKAGE_ARCHS',d)
                if ipkg_archs is None:
-                       bb.error("IPKG_ARCHS missing")
+                       bb.error("PACKAGE_ARCHS missing")
                        raise FuncFailed
                ipkg_archs = ipkg_archs.split()
                arch_priority = 1
index c29ab5f423a5ffbc2441b321a7ba19cd9ec40074..ee579bed55d449813c9800e8b42e5a5e1bc5a081 100644 (file)
@@ -3,6 +3,7 @@ inherit rpm_core
 
 RPMBUILD="rpmbuild --short-circuit ${RPMOPTS}"
 PACKAGEFUNCS += "do_package_rpm"
+IMAGE_PKGTYPE ?= "rpm"
 
 python write_specfile() {
        from bb import data, build
index 359e35f113f75bfbe9e45d6652e37b6055ba933c..d8c7919c3abe3699bd83ee3505f6241e678fb7d0 100644 (file)
@@ -1,6 +1,7 @@
 inherit package
 
 PACKAGEFUNCS += "do_package_tar"
+IMAGE_PKGTYPE ?= "tar"
 
 python package_tar_fn () {
        import os
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass
new file mode 100644 (file)
index 0000000..7712911
--- /dev/null
@@ -0,0 +1,130 @@
+DEPENDS_prepend = "dpkg-native apt-native fakeroot-native "
+DEPENDS_append = " ${EXTRA_IMAGEDEPENDS}"
+
+PACKAGES = ""
+
+do_rootfs[nostamp] = 1
+do_rootfs[dirs] = ${TOPDIR}
+do_build[nostamp] = 1
+
+ROOTFS_POSTPROCESS_COMMAND ?= ""
+
+PID = "${@os.getpid()}"
+
+# some default locales
+IMAGE_LINGUAS ?= "de-de fr-fr en-gb"
+
+LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s, bb.data.getVar('IMAGE_LINGUAS', d, 1).split()))}"
+
+fakeroot rootfs_deb_do_rootfs () {
+       set +e
+       mkdir -p ${IMAGE_ROOTFS}/var/dpkg/{info,updates}
+
+       rm -f ${STAGING_DIR}/etc/apt/sources.list
+       rm -f ${STAGING_DIR}/etc/apt/preferences
+       > ${IMAGE_ROOTFS}/var/dpkg/status
+       > ${IMAGE_ROOTFS}/var/dpkg/available
+       # > ${STAGING_DIR}/var/dpkg/status
+
+       priority=1
+       for arch in ${PACKAGE_ARCHS}; do
+               if [ ! -d ${DEPLOY_DIR_DEB}/$arch ]; then
+                       continue;
+               fi
+               cd ${DEPLOY_DIR_DEB}/$arch
+               # if [ -z "${DEPLOY_KEEP_PACKAGES}" ]; then
+                       rm -f Packages.gz Packages Packages.bz2
+               # fi
+               apt-ftparchive packages . | bzip2 > Packages.bz2
+
+               echo "deb file:${DEPLOY_DIR_DEB}/$arch/ ./" >> ${STAGING_DIR}/etc/apt/sources.list
+               (echo "Package: *"
+               echo "Pin origin ${DEPLOY_DIR_DEB}/$arch"
+               echo "Pin-Priority: $((800 + $priority))") >> ${STAGING_DIR}/etc/apt/preferences
+               priority=$(expr $priority + 5)
+       done
+
+       export APT_CONFIG="${STAGING_DIR}/etc/apt/apt.conf"
+       export D=${IMAGE_ROOTFS}
+       export OFFLINE_ROOT=${IMAGE_ROOTFS}
+       export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
+
+       apt-get update
+
+       _flag () {
+               sed -i -e "/^Package: $2\$/{n; s/Status: install ok .*/Status: install ok $1/;}" ${IMAGE_ROOTFS}/var/dpkg/status
+       }
+       _getflag () {
+               cat ${IMAGE_ROOTFS}/var/dpkg/status | sed -n -e "/^Package: $2\$/{n; s/Status: install ok .*/$1/; p}"
+       }
+
+       if [ ! -z "${LINGUAS_INSTALL}" ]; then
+               apt-get install glibc-localedata-i18n
+               if [ $? -eq 1 ]; then
+                       exit 1
+               fi
+               for i in ${LINGUAS_INSTALL}; do
+                       apt-get install $i
+                       if [ $? -eq 1 ]; then
+                               exit 1
+                       fi
+               done
+       fi
+
+       if [ ! -z "${PACKAGE_INSTALL}" ]; then
+               for i in ${PACKAGE_INSTALL}; do
+                       apt-get install $i
+                       if [ $? -eq 1 ]; then
+                               exit 1
+                       fi
+                       find ${IMAGE_ROOTFS} -name \*.dpkg-new | for i in `cat`; do
+                               mv $i `echo $i | sed -e's,\.dpkg-new$,,'`
+                       done
+               done
+       fi
+
+       install -d ${IMAGE_ROOTFS}/${sysconfdir}
+       echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version
+
+       for i in ${IMAGE_ROOTFS}/var/dpkg/info/*.preinst; do
+               if [ -f $i ] && ! sh $i; then
+                       _flag unpacked `basename $i .preinst`
+               fi
+       done
+
+       for i in ${IMAGE_ROOTFS}/var/dpkg/info/*.postinst; do
+               if [ -f $i ] && ! sh $i configure; then
+                       _flag unpacked `basename $i .postinst`
+               fi
+       done
+
+       set -e
+
+       ${ROOTFS_POSTPROCESS_COMMAND}
+}
+
+# set '*' as the rootpassword so the images
+# can decide if they want it or not
+
+zap_root_password () {
+       sed 's%^root:[^:]*:%root:*:%' < ${IMAGE_ROOTFS}/etc/passwd >${IMAGE_ROOTFS}/etc/passwd.new
+       mv ${IMAGE_ROOTFS}/etc/passwd.new ${IMAGE_ROOTFS}/etc/passwd    
+} 
+
+create_etc_timestamp() {
+       date +%2m%2d%2H%2M%Y >${IMAGE_ROOTFS}/etc/timestamp
+}
+
+# Turn any symbolic /sbin/init link into a file
+remove_init_link () {
+       if [ -h ${IMAGE_ROOTFS}/sbin/init ]; then
+               LINKFILE=${IMAGE_ROOTFS}`readlink ${IMAGE_ROOTFS}/sbin/init`
+               rm ${IMAGE_ROOTFS}/sbin/init
+               cp $LINKFILE ${IMAGE_ROOTFS}/sbin/init
+       fi
+}
+
+# export the zap_root_password, create_etc_timestamp and remote_init_link
+EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link do_rootfs
+
+addtask rootfs before do_build after do_install
index 8f9fddde1455f8ea9bc368ad7327c4e41c0def64..e4946660685ad64cca4109b212188d343356b507 100644 (file)
@@ -36,7 +36,7 @@ real_do_rootfs () {
        fi
        mkdir -p ${T}
        echo "src oe file:${DEPLOY_DIR_IPK}" > ${T}/ipkg.conf
-       ipkgarchs="${IPKG_ARCHS}"
+       ipkgarchs="${PACKAGE_ARCHS}"
        priority=1
        for arch in $ipkgarchs; do
                echo "arch $arch $priority" >> ${T}/ipkg.conf
@@ -49,11 +49,12 @@ real_do_rootfs () {
                        ipkg-cl ${IPKG_ARGS} install $i
                done
        fi
-       if [ ! -z "${IPKG_INSTALL}" ]; then
-               ipkg-cl ${IPKG_ARGS} install ${IPKG_INSTALL}
+       if [ ! -z "${PACKAGE_INSTALL}" ]; then
+               ipkg-cl ${IPKG_ARGS} install ${PACKAGE_INSTALL}
        fi
 
        export D=${IMAGE_ROOTFS}
+       export OFFLINE_ROOT=${IMAGE_ROOTFS}
        export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
        mkdir -p ${IMAGE_ROOTFS}/etc/ipkg/
        grep "^arch" ${T}/ipkg.conf >${IMAGE_ROOTFS}/etc/ipkg/arch.conf
index 2001586ff71ef4d92cd3dea4f600ff4d4d62d896..a4a3c754b90e6313564016d4eac9c6880c4f631a 100644 (file)
@@ -57,7 +57,7 @@ TARGET_CC_ARCH = ""
 
 PACKAGE_ARCH = "${HOST_ARCH}"
 MACHINE_ARCH = "${@[bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}"
-IPKG_ARCHS = "all any noarch ${TARGET_ARCH} ${IPKG_EXTRA_ARCHS} ${MACHINE}"
+PACKAGE_ARCHS = "all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
 
 ##################################################################
 # Date/time variables.
@@ -159,6 +159,7 @@ DEPLOY_DIR = "${TMPDIR}/deploy"
 DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
 DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
 DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
+DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb"
 
 ##################################################################
 # Kernel info.
index c07c8fa68be712c41132e9d63a52c4779e6cf841..699ac216ebdd01e4f3b64eba53dee02acc32623a 100644 (file)
@@ -38,8 +38,8 @@ PACKAGE_ARCH[doc] = 'The architecture needed for using a resulting package. If y
 machine dependant configuration options in your bitbake file add a \
 PACKAGE_ARCH  = "${MACHINE_ARCH}" to the file.'
 
-IPKG_ARCHS[doc] = 'A list of architectures compatible with the given target in order of priority'
-IPKG_EXTRA_ARCHS[doc] = 'Set this variable to add extra architectures to the list of supported architectures'
+PACKAGE_ARCHS[doc] = 'A list of architectures compatible with the given target in order of priority'
+PACKAGE_EXTRA_ARCHS[doc] = 'Set this variable to add extra architectures to the list of supported architectures'
 
 DATE[doc] = "The date the build was started Ymd"
 TIME[doc] = "The time the build was started HMS"
index 0358864c708c4604fadacd4700175232e597c3a8..0b0caebb3c5bedbd77b18326ef431753ce28e769 100644 (file)
@@ -5,7 +5,7 @@
 include conf/machine/include/zaurus-clamshell.conf
 include conf/machine/include/zaurus-clamshell-2.6.conf
 
-IPKG_EXTRA_ARCHS += "iwmmxt" 
+PACKAGE_EXTRA_ARCHS += "iwmmxt" 
 IMAGE_FSTYPES ?= "jffs2"
 
 ROOT_FLASH_SIZE = "58"
index 2123d6294f163a628be2a58b462d75b89d5128dc..509da675ab3e4d3d07de8cb5cebbaec848913a92 100644 (file)
@@ -2,7 +2,7 @@
 #@NAME: Nokia 770 internet tablet
 #@DESCRIPTION: Machine configuration for the Compulab CM-X270
 TARGET_ARCH = "arm"
-IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te iwmmxt"
+PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te iwmmxt"
 
 EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x4000 -n"
 
index 93befb92cec37a96184ac22130612c5ab206721e..e545bbc1c0566a2822245943e9844600f720b4d8 100644 (file)
@@ -111,7 +111,7 @@ TARGET_PACKAGE_ARCH = "${TARGET_PACKAGE_ARCH_BASE}${BYTE_SEX_CHAR}"
 #    because everything built here is no more specific than that.
 MACHINE_ARCH = "ixp4xx${ARCH_BYTE_SEX}"
 
-# IPKG_EXTRA_ARCHS
+# PACKAGE_EXTRA_ARCHS
 #    The full list of package architectures which should run on the system.
 #    This takes into account both the board level issues and the INPUTS set
 #    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$
 #    NOTE: this list contains just the things which rootfs_ipk.bbclass does
 #    not add, rootfs_ipk.bbclass evaluates:
 #
-#        ipkgarchs="all any noarch ${TARGET_ARCH} ${IPKG_EXTRA_ARCHS} ${MACHINE}"
+#        ipkgarchs="all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
 #
 #    This is a priority ordered list - most desireable architecture at the end,
 #    so put <ARM_INSTRUCTION_SET>_ARCHITECTURES at the end and, if
 #    THUMB_INTERWORK precede this with the other architectures.
-IPKG_EXTRA_ARCHS = "ixp4xx ${MACHINE} \
+PACKAGE_EXTRA_ARCHS = "ixp4xx ${MACHINE} \
                ${@(lambda arch_thumb, arch_arm, is_arm, interwork: \
                (interwork and (is_arm and arch_thumb or arch_arm) + ' ' or '') \
                + '${TARGET_ARCH} ' + (is_arm and arch_arm or arch_thumb)) \
@@ -141,12 +141,12 @@ IPKG_EXTRA_ARCHS = "ixp4xx ${MACHINE} \
                bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes')} \
                ${MACHINE_ARCH} ${MACHINE}${ARCH_BYTE_SEX}"
 
-# IPKG_ARCH_LIST [not used]
+# PACKAGE_ARCH_LIST [not used]
 #    This is used to override the ipkgarchs settings in rootfs_ipk.bbclass, allowing
 #    the removal of the raw "${MACHINE}" from the end of the list.  ${MACHINE} and
 #    ixp4xx are included at the start (lower priority) as the non-byte-sex specific
 #    versions.
-IPKG_ARCH_LIST = "all any noarch ixp4xx ${MACHINE} ${IPKG_EXTRA_ARCHS}"
+PACKAGE_ARCH_LIST = "all any noarch ixp4xx ${MACHINE} ${PACKAGE_EXTRA_ARCHS}"
 
 #-------------------------------------------------------------------------------
 # Package versions
index 990aee54bc0201a3d97c3ee4fdf017079b03d81d..f9c8e7f5cf387b4c4a0011e9bdb183a8c8a0c374 100644 (file)
@@ -1,6 +1,6 @@
 # Configurations for the Intel PXA27x Appications Processor Family. 
 # Please use tune-xscale for PXA255/PXA26x based processors.
-IPKG_EXTRA_ARCHS += "iwmmxt"
+PACKAGE_EXTRA_ARCHS += "iwmmxt"
 TARGET_CC_ARCH = "-march=iwmmxt -mcpu=iwmmxt -mtune=iwmmxt"
 PACKAGE_ARCH = "iwmmxt"
 
index e600a4926dfa4e334a6ecabd131941fa0cf35df5..3c02f7bfd937f7c44b178a8e6d65d137838442d3 100644 (file)
@@ -1,5 +1,5 @@
 TARGET_ARCH = "arm"
-IPKG_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te"
+PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te"
 
 PREFERRED_PROVIDER_xserver = "xserver-kdrive"
 
index bd92ad5deee823ebaec6b899f80b00ed1562f3d0..cc4aea4fb65671f3c7e7f7b5d794bf2e2c5048be 100644 (file)
@@ -3,7 +3,7 @@
 #@DESCRIPTION: Machine configuration for the iPAQ with a pxa27x CPU  devices
 
 TARGET_ARCH = "arm"
-IPKG_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt ipaqpxa hx4700"
+PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt ipaqpxa hx4700"
 
 #use this for a hx2xxx ipaq
 PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus"
index 690b2403d8c7f2055de53b4617d49ea66c7d3f50..6cc73c92325eca1f284bd593e6c33ff2f856fcaa 100644 (file)
@@ -2,7 +2,7 @@
 #@NAME: Nokia 770 internet tablet
 #@DESCRIPTION: Machine configuration for the Nokia 770, an omap 1710 based tablet
 TARGET_ARCH = "arm"
-IPKG_EXTRA_ARCHS = "armv4 armv5te"
+PACKAGE_EXTRA_ARCHS = "armv4 armv5te"
 
 PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-omap"
 PREFERRED_PROVIDER_virtual/bootloader = ""
index a64a58e9a2a5d0b680ad57bab3f46c869e290e99..2affa6693f45e05898aab49d194ae7ce782e4011 100644 (file)
@@ -3,7 +3,7 @@
 #@DESCRIPTION: Machine configuration for running an ARM system under qemu emulation
 
 TARGET_ARCH = "arm"
-IPKG_EXTRA_ARCHS = "armv4 armv5te"
+PACKAGE_EXTRA_ARCHS = "armv4 armv5te"
 
 require conf/machine/include/qemu.conf
 require conf/machine/include/tune-arm926ejs.conf
index 83bf7391a9294774ec4baa4bf74325eddd47be8f..63e318908e19e4f610c00864f783e000d3f6b0db 100644 (file)
@@ -4,7 +4,7 @@
 
 TARGET_ARCH = "i586"
 TARGET_VENDOR = "-oe"
-IPKG_EXTRA_ARCHS = "x86"
+PACKAGE_EXTRA_ARCHS = "x86"
 
 require conf/machine/include/qemu.conf
 # require conf/machine/include/tune-arm926ejs.conf
index af50217e0fda2b5f373538fb0defa6b1ace948c1..cf2c5f3f4f2d1978d04c62f73793b268ba30737f 100644 (file)
@@ -7,7 +7,7 @@ include conf/machine/include/zaurus-clamshell-2.6.conf
 
 PIVOTBOOT_EXTRA_RDEPENDS += "pivotinit ${PCMCIA_MANAGER}"
 
-IPKG_EXTRA_ARCHS += "iwmmxt"
+PACKAGE_EXTRA_ARCHS += "iwmmxt"
 IMAGE_FSTYPES ?= "tar.gz"
 
 ROOT_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 (file)
index 0000000..682a96d
--- /dev/null
@@ -0,0 +1,35 @@
+---
+ apt-pkg/packagemanager.cc |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- apt-0.6.45exp2.orig/apt-pkg/packagemanager.cc
++++ apt-0.6.45exp2/apt-pkg/packagemanager.cc
+@@ -534,10 +534,12 @@ bool pkgPackageManager::SmartUnPack(PkgI
+    
+    List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States);
+    
++#if 0
+    // Perform immedate configuration of the package.
+    if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true)
+       if (SmartConfigure(Pkg) == false)
+        return _error->Error("Internal Error, Could not perform immediate configuration (2) on %s",Pkg.Name());
++#endif
+    
+    return true;
+ }
+@@ -609,6 +611,7 @@ pkgPackageManager::OrderResult pkgPackag
+       DoneSomething = true;
+    }
+    
++#if 0
+    // Final run through the configure phase
+    if (ConfigureAll() == false)
+       return Failed;
+@@ -623,6 +626,7 @@ pkgPackageManager::OrderResult pkgPackag
+        return Failed;
+       }
+    }   
++#endif
+        
+    return Completed;
+ }
index 4ace9e94bb5ee3812315277e837195dd71888a46..de9426bf703c2f371df94f5fb892d339dea60ab7 100644 (file)
@@ -19,39 +19,43 @@ python do_stage_config () {
 
        data = bb.data.expand(data, d)
 
-       outpath = bb.data.expand('${STAGING_DIR}/${sysconfdir}/apt.conf', d)
+       outdir = os.path.join(bb.data.getVar('sysconfdir', d, 1), 'apt')
+       if not os.path.exists(outdir):
+               os.makedirs(outdir)
+       outpath = os.path.join(outdir, 'apt.conf')
+
        outfile = file(outpath, 'w')
        outfile.write(data)
        outfile.close()
 }
 
 do_stage_base () {
-       install -d ${STAGING_BINDIR}
-       install -m 0755 bin/apt-cdrom ${STAGING_BINDIR}/
-       install -m 0755 bin/apt-get ${STAGING_BINDIR}/
-       install -m 0755 bin/apt-config ${STAGING_BINDIR}/
-       install -m 0755 bin/apt-cache ${STAGING_BINDIR}/
+       install -d ${bindir}
+       install -m 0755 bin/apt-cdrom ${bindir}/
+       install -m 0755 bin/apt-get ${bindir}/
+       install -m 0755 bin/apt-config ${bindir}/
+       install -m 0755 bin/apt-cache ${bindir}/
 
-       install -m 0755 bin/apt-sortpkgs ${STAGING_BINDIR}/
-       install -m 0755 bin/apt-extracttemplates ${STAGING_BINDIR}/
+       install -m 0755 bin/apt-sortpkgs ${bindir}/
+       install -m 0755 bin/apt-extracttemplates ${bindir}/
 
        eval `cat environment.mak | grep ^GLIBC_VER | sed -e's, = ,=,'`
-       oe_libinstall -so -C bin libapt-pkg$GLIBC_VER-6 ${STAGING_LIBDIR}/
-       ln -sf libapt-pkg$GLIBC_VER-6.so ${STAGING_LIBDIR}/libapt-pkg.so
-       oe_libinstall -so -C bin libapt-inst$GLIBC_VER-6 ${STAGING_LIBDIR}/
-       ln -sf libapt-inst$GLIBC_VER-6.so ${STAGING_LIBDIR}/libapt-inst.so
-
-       install -d ${STAGING_LIBDIR}/apt/methods
-       install -m 0755 bin/methods/* ${STAGING_LIBDIR}/apt/methods/
-
-       install -d ${STAGING_LIBDIR}/dpkg/methods/apt
-       install -m 0644 dselect/desc.apt ${STAGING_LIBDIR}/dpkg/methods/apt/ 
-       install -m 0644 dselect/names ${STAGING_LIBDIR}/dpkg/methods/apt/ 
-       install -m 0755 dselect/install ${STAGING_LIBDIR}/dpkg/methods/apt/ 
-       install -m 0755 dselect/setup ${STAGING_LIBDIR}/dpkg/methods/apt/ 
-       install -m 0755 dselect/update ${STAGING_LIBDIR}/dpkg/methods/apt/ 
-
-       install -d ${STAGING_DIR}${sysconfdir}/apt
-       install -d ${STAGING_DIR}${localstatedir}/lib/apt/lists/partial
-       install -d ${STAGING_DIR}${localstatedir}/cache/apt/archives/partial
+       oe_libinstall -so -C bin libapt-pkg$GLIBC_VER-6 ${libdir}/
+       ln -sf libapt-pkg$GLIBC_VER-6.so ${libdir}/libapt-pkg.so
+       oe_libinstall -so -C bin libapt-inst$GLIBC_VER-6 ${libdir}/
+       ln -sf libapt-inst$GLIBC_VER-6.so ${libdir}/libapt-inst.so
+
+       install -d ${libdir}/apt/methods
+       install -m 0755 bin/methods/* ${libdir}/apt/methods/
+
+       install -d ${libdir}/dpkg/methods/apt
+       install -m 0644 dselect/desc.apt ${libdir}/dpkg/methods/apt/ 
+       install -m 0644 dselect/names ${libdir}/dpkg/methods/apt/ 
+       install -m 0755 dselect/install ${libdir}/dpkg/methods/apt/ 
+       install -m 0755 dselect/setup ${libdir}/dpkg/methods/apt/ 
+       install -m 0755 dselect/update ${libdir}/dpkg/methods/apt/ 
+
+       install -d ${sysconfdir}/apt
+       install -d ${localstatedir}/lib/apt/lists/partial
+       install -d ${localstatedir}/cache/apt/archives/partial
 }
index 32f19e8e4c90ac07a3768ab968b0511b76a5c8f4..43f73889f7d47f13dc0d5935eff14b21a83d8a48 100644 (file)
@@ -1,3 +1,4 @@
 require apt-native.inc
 
-SRC_URI += "file://nodoc.patch;patch=1"
+SRC_URI += "file://nodoc.patch;patch=1 \
+            file://noconfigure.patch;patch=1"
index 944233c34751a9a0520b0aca07686d447d246af8..37785871db6dccafc2a9c0f39eed6621dcc65821 100644 (file)
@@ -3,7 +3,7 @@ Dir "${STAGING_DIR}/"
    State "var/lib/apt/"
    {
       Lists "lists/";
-      status "${IMAGE_ROOTFS}/${localstatedir}/lib/dpkg/status";
+      status "${IMAGE_ROOTFS}/var/dpkg/status";
    };
    Cache "var/cache/apt/"
    {
@@ -22,3 +22,17 @@ Dir "${STAGING_DIR}/"
       apt-cache "apt-cache";
    };
 };
+
+APT
+{
+  Immediate-Configure "false";
+  Architecture "i586";
+  Get
+  {
+     Assume-Yes "true";
+     Force-Yes "true"
+  };
+};
+
+DPkg::Options {"--root=${IMAGE_ROOTFS}";"--admindir=${IMAGE_ROOTFS}/var/dpkg";"--force-all";"--no-debsig"};
+};
index 2f196c2ea66f1b0fd675f062684909263cc92ab6..db71ab08e83fdc687fb4b1b21ceacf24ef4c1440 100644 (file)
@@ -1,8 +1,9 @@
 require dpkg.inc
+PR = "r1"
+DEPENDS += "ncurses-native zlib-native virtual/update-alternatives"
 SRC_URI += "file://noman.patch;patch=1"
 
 inherit native
-inherit autotools gettext
 
 EXTRA_OECONF = "--without-static-progs \
                --without-dselect \
index 3c3f29c3045ea97a638be81f0cf95948494fde11..0d2053ab0f0502fd41f804b0034bf4f7adbc1b66 100644 (file)
@@ -1,10 +1,34 @@
 DESCRIPTION = "Package maintenance system for Debian."
 LICENSE = "GPL"
 SECTION = "base"
-DEPENDS = "ncurses zlib"
 MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
 
-SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.gz"
+SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.gz \
+           file://noupdalt.patch;patch=1"
 S = "${WORKDIR}/dpkg-${PV}"
 
+DEPENDS_${PN} += "update-alternatives"
+
 PARALLEL_MAKE = ""
+
+inherit autotools gettext
+
+DPKG_INIT_POSITION = "98"
+DPKG_INIT_POSITION_slugos = "41"
+
+pkg_postinst_dpkg () {
+#!/bin/sh
+if [ "x$D" != "x" ]; then
+       install -d ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d
+       # this happens at S98 where our good 'ole packages script used to run
+       echo -e "#!/bin/sh
+       dpkg --configure -a
+" > ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
+       chmod 0755 ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
+fi
+}
+
+do_configure () {
+    echo >> m4/compiler.m4
+    autotools_do_configure
+}
index 08a9c06fbf209de77c847b8aa4f99be2cda6c5e6..bcf45392b467463fa3c725a4b5a3f1b31bd3e808 100644 (file)
@@ -1,7 +1,6 @@
 require dpkg.inc
-DEPENDS += "bzip2"
-
-inherit autotools gettext
+PR = "r2"
+DEPENDS += "ncurses zlib bzip2"
 
 EXTRA_OECONF = "--without-static-progs \
                --without-dselect \
diff --git a/meta/packages/dpkg/files/nochroot.patch b/meta/packages/dpkg/files/nochroot.patch
new file mode 100644 (file)
index 0000000..3a8beae
--- /dev/null
@@ -0,0 +1,18 @@
+---
+ src/help.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- dpkg-1.13.22.orig/src/help.c
++++ dpkg-1.13.22/src/help.c
+@@ -175,9 +175,11 @@ static const char* preexecscript(const c
+    */
+   size_t instdirl;
++#if 0
+   if (*instdir) {
+     if (chroot(instdir)) ohshite(_("failed to chroot to `%.250s'"),instdir);
+   }
++#endif
+   if (f_debug & dbg_scripts) {
+     fprintf(stderr,"D0%05o: fork/exec %s (",dbg_scripts,path);
+     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 (file)
index 0000000..023e99a
--- /dev/null
@@ -0,0 +1,16 @@
+---
+ scripts/Makefile.am |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- dpkg-1.13.22.orig/scripts/Makefile.am
++++ dpkg-1.13.22/scripts/Makefile.am
+@@ -20,8 +20,7 @@ bin_SCRIPTS = \
+ sbin_SCRIPTS = \
+       cleanup-info \
+       dpkg-divert \
+-      dpkg-statoverride \
+-      update-alternatives
++      dpkg-statoverride
+ changelogdir = $(pkglibdir)/parsechangelog
+ changelog_SCRIPTS = \
index 3ce10b54de8c0ff6b5be6dd8d3f80055fa33d34e..6b191434ed8b3bca2a18d8a34d7270a6c9944ba5 100644 (file)
@@ -194,6 +194,10 @@ python package_do_split_gconvs () {
                        if m:
                                dp = legitimize_package_name('glibc-localedata-%s' % m.group(1))
                                if not dp in deps:
+                                       if '<' in dp:
+                                               bb.note('warning, dp is %s' % dp)
+                                               bb.note('  fn is %s' % fn)
+                                               bb.note('  line was %s' % l)
                                        deps.append(dp)
                f.close()
                if deps != []:
index 2bc152b998862acacafee9a1baa39b02e64c39de..4a61e7051997cb1d355d848b5259bd97634fecff 100644 (file)
@@ -6,7 +6,7 @@ DEPENDS = "task-oh"
     
 RDEPENDS = "task-oh-boot task-oh-boot-extras"
 
-export IPKG_INSTALL = "${RDEPENDS}"
+export PACKAGE_INSTALL = "${RDEPENDS}"
 
-inherit image_ipk
+inherit image
 LICENSE = MIT
index 73f7afbe16f5091aac048dca29ec2aae05d64bcf..e416d848433055227af2f407474a624922b75b1f 100644 (file)
@@ -9,7 +9,7 @@ RDEPENDS = "\
     task-oh-boot-extras \
     task-oh-base "
 
-export IPKG_INSTALL = "${RDEPENDS}"
+export PACKAGE_INSTALL = "${RDEPENDS}"
 
-inherit image_ipk
+inherit image
 LICENSE = MIT
index de2f3e0a4c8a9740f5885daad2a2aaf10d0f0fd9..d4576a0c5516736cae3f13a619c7ec47f0f340eb 100644 (file)
@@ -12,7 +12,7 @@ RDEPENDS = "\
     ${@base_conditional("DISTRO_TYPE", "debug", "task-oh-devtools", "",d)} \
     ${@base_conditional("DISTRO_TYPE", "debug", "task-oh-testapps", "",d)} "
 
-export IPKG_INSTALL = "${RDEPENDS}"
+export PACKAGE_INSTALL = "${RDEPENDS}"
 
-inherit image_ipk
+inherit image
 LICENSE = MIT
index 71b1c300b55898b6f145b6f80c9961ead570ce50..08e37a7b89d5b5a35d67fd1813281ed26c8e5943 100644 (file)
@@ -15,7 +15,7 @@ RDEPENDS = "\
     task-oh-testapps \
     task-oh-sdk "
 
-export IPKG_INSTALL = "${RDEPENDS}"
+export PACKAGE_INSTALL = "${RDEPENDS}"
 
-inherit image_ipk
+inherit image
 LICENSE = MIT
diff --git a/meta/packages/ipkg/files/noupdalt.patch b/meta/packages/ipkg/files/noupdalt.patch
new file mode 100644 (file)
index 0000000..f668e82
--- /dev/null
@@ -0,0 +1,15 @@
+---
+ Makefile.am |    2 --
+ 1 file changed, 2 deletions(-)
+
+--- C.orig/Makefile.am
++++ C/Makefile.am
+@@ -10,8 +10,6 @@ bin_PROGRAMS = ipkg-cl
+ lib_LTLIBRARIES = libipkg.la
+-bin_SCRIPTS = update-alternatives
+-
+ # ipkg_LDADD = libbb/libbb.a replace/libreplace.a
+ #ipkg_cl_LDADD = libipkg.la libbb/libbb.la replace/libreplace.a 
index b52b7b5e20f2908751aff10d2ffdf3eeb4aa82be..070086a638ffec9117e3148f17bfab7a9cd82e5a 100644 (file)
@@ -7,6 +7,6 @@ inherit native
 
 EXTRA_OECONF += "--with-ipkgdir=${target_libdir}/ipkg"
 
-DEPENDS = "libtool-native automake-native"
+DEPENDS = "libtool-native automake-native virtual/update-alternatives"
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-${PV}"
 PROVIDES = ""
index 49bdd22c087b4d6b9d4a47588e750f0c236cee11..e72ece633b526fb88cee8417969001f497bed265 100644 (file)
@@ -5,13 +5,15 @@ LICENSE = "GPL"
 PROVIDES = "virtual/ipkg libipkg"
 
 PACKAGES =+ "libipkg-dev libipkg"
+RDEPENDS_${PN} += "update-alternatives"
 FILES_libipkg-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so"
 FILES_libipkg = "${libdir}"
 AUTO_LIBNAME_PKGS = "libipkg"
 
 SRC_URI = "${HANDHELDS_CVS};module=familiar/dist/ipkg;tag=${@'V' + bb.data.getVar('PV',d,1).replace('.', '-')} \
         file://fix_tar_extension.patch;patch=1 \
-       file://terse.patch;patch=1"
+       file://terse.patch;patch=1 \
+        file://noupdalt.patch;patch=1"
 
 S = "${WORKDIR}/ipkg/C"
 
index 20a199665839d89bd9de9529e05b34543f4e6ed5..eb36fa67cbecf62547df6c89f7be7e8294f5fe2c 100644 (file)
@@ -1,2 +1,2 @@
 require ipkg.inc
-PR = "r4"
+PR = "r5"
index 030cd1034c14e9359a2cf53d27754ca607ee5de8..bc0bb4603ce4f5590e2987e303e330b309130f3c 100644 (file)
@@ -3,8 +3,8 @@ HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html"
 LICENSE = "MIT"
 SECTION = "libs"
 DEPENDS = "ncurses-native"
-PACKAGES_prepend = "ncurses-tools "
-PACKAGES_append = " ncurses-terminfo"
+PACKAGES =+ "ncurses-tools "
+PACKAGES += " ncurses-terminfo"
 FILES_ncurses_append = " ${datadir}/tabset"
 RSUGGESTS_${PN} = "ncurses-terminfo"
 RPROVIDES = "libncurses5"
index 176c8870e4a50f14dfdd0b0437336f16ec9d551e..252990cba5ce185baf3f8d7128141297976fd305 100644 (file)
@@ -12,8 +12,8 @@ inherit autotools
 
 includedir += "/sysfs"
 
-PACKAGES_prepend = "libsysfs "
-FILES_libsysfs = "${libdir}/*.so.2.0.0"
+PACKAGES_prepend = "libsysfs "
+FILES_libsysfs = "${libdir}/*.so.2.0.0"
 
 do_stage () {
        oe_libinstall -a -so -C lib libsysfs ${STAGING_LIBDIR}
index 6b8125966be65a71e7a4b0b31f48d4ff4187fcfd..e0ffb73cfbd8e8bc87d63b09320e1d02e62a997b 100644 (file)
@@ -1,6 +1,6 @@
 DESCRIPTION = "Tasks for OpenedHand Poky"
 MAINTAINER = "Richard Purdie <richard@openedhand.com>"
-PR = "r41"
+PR = "r42"
 
 PACKAGES = "\
     task-oh-base \
@@ -27,7 +27,7 @@ RDEPENDS_task-oh-boot = "\
     modutils-initscripts \
     fuser \
     setserial \
-    ipkg \
+    update-alternatives \
     module-init-tools-depmod"
 #    linux-hotplug \
 
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 (file)
index 0000000..99f8c07
--- /dev/null
@@ -0,0 +1,11 @@
+require update-alternatives-cworth.inc
+inherit native
+
+PROVIDES += "virtual/update-alternatives"
+
+do_stage () {
+    install -d ${sbindir} \
+               ${libdir}/ipkg/alternatives
+
+    install -m 0755 update-alternatives ${sbindir}/update-alternatives
+}
diff --git a/meta/packages/update-alternatives/update-alternatives-cworth.inc b/meta/packages/update-alternatives/update-alternatives-cworth.inc
new file mode 100644 (file)
index 0000000..e5bf1c8
--- /dev/null
@@ -0,0 +1,6 @@
+LICENSE = "GPL"
+SECTION = "base"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+SRC_URI = "${HANDHELDS_CVS};module=familiar/dist/ipkg;tag=${@'V' + bb.data.getVar('PV',d,1).replace('.', '-')}"
+S = "${WORKDIR}/ipkg/C"
+PACKAGE_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 (file)
index 0000000..18dab4e
--- /dev/null
@@ -0,0 +1,11 @@
+require update-alternatives-cworth.inc
+
+RPROVIDES_${PN} = "update-alternatives"
+
+do_install () {
+    install -d ${D}${sbindir} \
+               ${D}${sysconfdir}/alternatives \
+               ${D}${libdir}/ipkg/alternatives
+
+    install -m 0755 update-alternatives ${D}${sbindir}/update-alternatives
+}
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 (file)
index 0000000..f621e6a
--- /dev/null
@@ -0,0 +1,14 @@
+require update-alternatives-dpkg.inc
+inherit native
+
+PROVIDES += "virtual/update-alternatives"
+DEPENDS += "perl-native dpkg-native"
+DEFAULT_PREFERENCE = "-1"
+
+do_stage () {
+    install -d ${sbindir} \
+               ${localstatedir}/dpkg/alternatives \
+               ${sysconfdir}/alternatives
+
+    install -m 0755 scripts/update-alternatives ${sbindir}/update-alternatives
+}
diff --git a/meta/packages/update-alternatives/update-alternatives-dpkg.inc b/meta/packages/update-alternatives/update-alternatives-dpkg.inc
new file mode 100644 (file)
index 0000000..e767ed6
--- /dev/null
@@ -0,0 +1,20 @@
+LICENSE = "GPL"
+SECTION = "base"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.gz"
+S = "${WORKDIR}/dpkg-${PV}"
+PACKAGE_ARCH = "all"
+
+do_patch () {
+    cat ${S}/scripts/update-alternatives.pl | \
+        sed -n -e '
+    /^\$admindir=.*staging/{
+        x
+        s/^.*$/$D=$ENV{"D"} || ""\;/;
+        p;
+        x;
+        s,^\$admindir=.*staging.*$,$admindir="$D${localstatedir}/dpkg"\;,;
+    };
+    s,^\$altdir=.*$,$altdir="$D${sysconfdir}/alternatives"\;,;
+    p;' > ${S}/scripts/update-alternatives
+}
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 (file)
index 0000000..a07d5e3
--- /dev/null
@@ -0,0 +1,12 @@
+require update-alternatives-dpkg.inc
+
+RPROVIDES_${PN} = "update-alternatives"
+RDEPENDS_${PN} = "perl dpkg"
+
+do_install () {
+    install -d ${D}${sbindir} \
+               ${D}${localstatedir}/dpkg/alternatives \
+               ${D}${sysconfdir}/alternatives
+
+    install -m 0755 scripts/update-alternatives ${D}${sbindir}/update-alternatives
+}
index f79df30c420937f25eec46d0551d9968f5daa7c2..018cbc9bec571ee9254cfb1d1123958b805977c9 100755 (executable)
@@ -4,6 +4,7 @@ DEPENDS = "libxml2 glib-2.0 gtk+ libglade gtkhtml2 curl gconf js"
 MAINTAINER = "Chris Lord <chris@openedhand.com>"
 DESCRIPTION = "Web is a multi-platform web browsing application."
 
+PV = "0.0+svn${SRCDATE}"
 PR = "r1"
 SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http"
 S = "${WORKDIR}/trunk"
index b31ed72998b5bc67b647f7afaaadbd4ad9f1b5ba..bbd4993345475e5674eeaa2521c3ea4d355d5bee 100644 (file)
@@ -5,7 +5,7 @@ DESCRIPTION = "Base X libs."
 DEPENDS += " bigreqsproto xproto xextproto xtrans libxau xcmiscproto \
        libxdmcp xf86bigfontproto kbproto inputproto"
 PROVIDES = "virtual/libx11"
-RPROVIDES = "virtual/libx11"
+RPROVIDES = "virtual/libx11"
 
 XORG_PN = "libX11"
 
index 89a56719d70eac19b13cae99b01e1657e699124b..a8f002ea2a153ceae99eeb438947b487159c394f 100644 (file)
@@ -1,8 +1,18 @@
-diff --git a/hw/kdrive/fbdev/fbdev.c b/hw/kdrive/fbdev/fbdev.c
-index 86384f0..904d5f3 100644
---- a/hw/kdrive/fbdev/fbdev.c
-+++ b/hw/kdrive/fbdev/fbdev.c
-@@ -38,11 +38,17 @@ fbdevInitialize (KdCardInfo *card, Fbdev
+---
+ hw/kdrive/fbdev/fbdev.c  |   17 ++++++++++++-----
+ hw/kdrive/fbdev/fbdev.h  |    1 +
+ hw/kdrive/fbdev/fbinit.c |   20 ++++++++++++++++----
+ 3 files changed, 29 insertions(+), 9 deletions(-)
+
+--- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbdev.c
++++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbdev.c
+@@ -33,16 +33,23 @@
+ extern int KdTsPhyScreen;
++char     *fbdevDevicePath = NULL;
+ Bool
+ fbdevInitialize (KdCardInfo *card, FbdevPriv *priv)
  {
      int                   k;
      unsigned long   off;
@@ -25,10 +35,8 @@ index 86384f0..904d5f3 100644
      /* quiet valgrind */
      memset (&priv->fix, '\0', sizeof (priv->fix));
      if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0) {
-diff --git a/hw/kdrive/fbdev/fbdev.h b/hw/kdrive/fbdev/fbdev.h
-index d37b995..b7951db 100644
---- a/hw/kdrive/fbdev/fbdev.h
-+++ b/hw/kdrive/fbdev/fbdev.h
+--- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbdev.h
++++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbdev.h
 @@ -53,6 +53,7 @@ typedef struct _fbdevScrPriv {
  } FbdevScrPriv;
  
@@ -37,11 +45,9 @@ index d37b995..b7951db 100644
  
  Bool
  fbdevInitialize (KdCardInfo *card, FbdevPriv *priv);
-diff --git a/hw/kdrive/fbdev/fbinit.c b/hw/kdrive/fbdev/fbinit.c
-index ba9d1c6..1a7e4bf 100644
---- a/hw/kdrive/fbdev/fbinit.c
-+++ b/hw/kdrive/fbdev/fbinit.c
-@@ -54,17 +54,30 @@ InitInput (int argc, char **argv)
+--- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbinit.c
++++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbinit.c
+@@ -59,16 +59,28 @@ InitInput (int argc, char **argv)
  void
  ddxUseMsg (void)
  {
@@ -72,7 +78,5 @@ index ba9d1c6..1a7e4bf 100644
 +  return KdProcessArgument (argc, argv, i);
 +}
  
-+char           *fbdevDevicePath = NULL;
  KdCardFuncs   fbdevFuncs = {
      fbdevCardInit,        /* cardinit */
-     fbdevScreenInit,      /* scrinit */
index 92857dc62b380e6f7168e21b1f3c2b47987686a8..987b46021fa54f5b69394784ace01ff2b255226d 100644 (file)
@@ -2,7 +2,7 @@ LICENSE = "MIT"
 DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto"
 
 PROVIDES = "virtual/xserver"
-RPROVIDES = "virtual/xserver"
+RPROVIDES = "virtual/xserver"
 PACKAGES = "xserver-kdrive-fbdev xserver-kdrive-fake xserver-kdrive-xephyr ${PN}-doc ${PN}-dev ${PN}-locale"
 SECTION = "x11/base"
 DESCRIPTION = "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
 
 SRC_URI_append_mnci   = " file://onlyfb.patch;patch=1"
 SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1"
+SRC_URI_append_qemux86 = " file://xserver-kdrive-poodle.patch;patch=1"
 PACKAGE_ARCH_poodle = "poodle"
 
 S = "${WORKDIR}/xorg-server-X11R7.1-1.1.0"