diff options
51 files changed, 679 insertions, 116 deletions
diff --git a/meta/classes/image_ipk.bbclass b/meta/classes/image.bbclass index d5f21c58096..e9952652446 100644 --- a/meta/classes/image_ipk.bbclass +++ b/meta/classes/image.bbclass @@ -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 -} diff --git a/meta/classes/multimachine.bbclass b/meta/classes/multimachine.bbclass index 01dec648c30..4359d6c6693 100644 --- a/meta/classes/multimachine.bbclass +++ b/meta/classes/multimachine.bbclass @@ -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 index 00000000000..4526ac156c1 --- /dev/null +++ b/meta/classes/package_deb.bbclass @@ -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 +} diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass index 9ae526bb3b6..2847cee6e05 100644 --- a/meta/classes/package_ipk.bbclass +++ b/meta/classes/package_ipk.bbclass @@ -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 diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index c29ab5f423a..ee579bed55d 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass @@ -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 diff --git a/meta/classes/package_tar.bbclass b/meta/classes/package_tar.bbclass index 359e35f113f..d8c7919c3ab 100644 --- a/meta/classes/package_tar.bbclass +++ b/meta/classes/package_tar.bbclass @@ -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 index 00000000000..7712911b020 --- /dev/null +++ b/meta/classes/rootfs_deb.bbclass @@ -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 diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass index 8f9fddde145..e4946660685 100644 --- a/meta/classes/rootfs_ipk.bbclass +++ b/meta/classes/rootfs_ipk.bbclass @@ -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 diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 2001586ff71..a4a3c754b90 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -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. diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf index c07c8fa68be..699ac216ebd 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 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" diff --git a/meta/conf/machine/akita.conf b/meta/conf/machine/akita.conf index 0358864c708..0b0caebb3c5 100644 --- a/meta/conf/machine/akita.conf +++ b/meta/conf/machine/akita.conf @@ -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" diff --git a/meta/conf/machine/cmx270.conf b/meta/conf/machine/cmx270.conf index 2123d6294f1..509da675ab3 100644 --- a/meta/conf/machine/cmx270.conf +++ b/meta/conf/machine/cmx270.conf @@ -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" diff --git a/meta/conf/machine/include/ixp4xx.conf b/meta/conf/machine/include/ixp4xx.conf index 93befb92cec..e545bbc1c05 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}" # 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 diff --git a/meta/conf/machine/include/tune-iwmmxt.conf b/meta/conf/machine/include/tune-iwmmxt.conf index 990aee54bc0..f9c8e7f5cf3 100644 --- a/meta/conf/machine/include/tune-iwmmxt.conf +++ b/meta/conf/machine/include/tune-iwmmxt.conf @@ -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" diff --git a/meta/conf/machine/include/zaurus-clamshell.conf b/meta/conf/machine/include/zaurus-clamshell.conf index e600a4926df..3c02f7bfd93 100644 --- a/meta/conf/machine/include/zaurus-clamshell.conf +++ b/meta/conf/machine/include/zaurus-clamshell.conf @@ -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" diff --git a/meta/conf/machine/ipaq-pxa270.conf b/meta/conf/machine/ipaq-pxa270.conf index bd92ad5deee..cc4aea4fb65 100644 --- a/meta/conf/machine/ipaq-pxa270.conf +++ b/meta/conf/machine/ipaq-pxa270.conf @@ -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" diff --git a/meta/conf/machine/nokia770.conf b/meta/conf/machine/nokia770.conf index 690b2403d8c..6cc73c92325 100644 --- a/meta/conf/machine/nokia770.conf +++ b/meta/conf/machine/nokia770.conf @@ -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 = "" diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf index a64a58e9a2a..2affa6693f4 100644 --- a/meta/conf/machine/qemuarm.conf +++ b/meta/conf/machine/qemuarm.conf @@ -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 diff --git a/meta/conf/machine/qemux86.conf b/meta/conf/machine/qemux86.conf index 83bf7391a92..63e318908e1 100644 --- a/meta/conf/machine/qemux86.conf +++ b/meta/conf/machine/qemux86.conf @@ -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 diff --git a/meta/conf/machine/spitz.conf b/meta/conf/machine/spitz.conf index af50217e0fd..cf2c5f3f4f2 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 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 index 00000000000..682a96da24a --- /dev/null +++ b/meta/packages/apt/apt-0.6.45exp2/noconfigure.patch @@ -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; + } diff --git a/meta/packages/apt/apt-native.inc b/meta/packages/apt/apt-native.inc index 4ace9e94bb5..de9426bf703 100644 --- a/meta/packages/apt/apt-native.inc +++ b/meta/packages/apt/apt-native.inc @@ -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 } diff --git a/meta/packages/apt/apt-native_0.6.45exp2.bb b/meta/packages/apt/apt-native_0.6.45exp2.bb index 32f19e8e4c9..43f73889f7d 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 @@ require apt-native.inc -SRC_URI += "file://nodoc.patch;patch=1" +SRC_URI += "file://nodoc.patch;patch=1 \ + file://noconfigure.patch;patch=1" diff --git a/meta/packages/apt/files/apt.conf b/meta/packages/apt/files/apt.conf index 944233c3475..37785871db6 100644 --- a/meta/packages/apt/files/apt.conf +++ b/meta/packages/apt/files/apt.conf @@ -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"}; +}; diff --git a/meta/packages/dpkg/dpkg-native_1.13.22.bb b/meta/packages/dpkg/dpkg-native_1.13.22.bb index 2f196c2ea66..db71ab08e83 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 @@ 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 \ diff --git a/meta/packages/dpkg/dpkg.inc b/meta/packages/dpkg/dpkg.inc index 3c3f29c3045..0d2053ab0f0 100644 --- a/meta/packages/dpkg/dpkg.inc +++ b/meta/packages/dpkg/dpkg.inc @@ -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 +} diff --git a/meta/packages/dpkg/dpkg_1.13.22.bb b/meta/packages/dpkg/dpkg_1.13.22.bb index 08a9c06fbf2..bcf45392b46 100644 --- a/meta/packages/dpkg/dpkg_1.13.22.bb +++ b/meta/packages/dpkg/dpkg_1.13.22.bb @@ -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 index 00000000000..3a8beaebbf5 --- /dev/null +++ b/meta/packages/dpkg/files/nochroot.patch @@ -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 index 00000000000..023e99ae8d5 --- /dev/null +++ b/meta/packages/dpkg/files/noupdalt.patch @@ -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 = \ diff --git a/meta/packages/glibc/glibc-package.bbclass b/meta/packages/glibc/glibc-package.bbclass index 3ce10b54de8..6b191434ed8 100644 --- a/meta/packages/glibc/glibc-package.bbclass +++ b/meta/packages/glibc/glibc-package.bbclass @@ -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 != []: diff --git a/meta/packages/images/oh-image-base.bb b/meta/packages/images/oh-image-base.bb index 2bc152b9988..4a61e705199 100644 --- a/meta/packages/images/oh-image-base.bb +++ b/meta/packages/images/oh-image-base.bb @@ -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 diff --git a/meta/packages/images/oh-image-core.bb b/meta/packages/images/oh-image-core.bb index 73f7afbe16f..e416d848433 100644 --- a/meta/packages/images/oh-image-core.bb +++ b/meta/packages/images/oh-image-core.bb @@ -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 diff --git a/meta/packages/images/oh-image-pda.bb b/meta/packages/images/oh-image-pda.bb index de2f3e0a4c8..d4576a0c551 100644 --- a/meta/packages/images/oh-image-pda.bb +++ b/meta/packages/images/oh-image-pda.bb @@ -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 diff --git a/meta/packages/images/oh-image-sdk.bb b/meta/packages/images/oh-image-sdk.bb index 71b1c300b55..08e37a7b89d 100644 --- a/meta/packages/images/oh-image-sdk.bb +++ b/meta/packages/images/oh-image-sdk.bb @@ -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 index 00000000000..f668e82f6bb --- /dev/null +++ b/meta/packages/ipkg/files/noupdalt.patch @@ -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 diff --git a/meta/packages/ipkg/ipkg-native.inc b/meta/packages/ipkg/ipkg-native.inc index b52b7b5e20f..070086a638f 100644 --- a/meta/packages/ipkg/ipkg-native.inc +++ b/meta/packages/ipkg/ipkg-native.inc @@ -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 = "" diff --git a/meta/packages/ipkg/ipkg.inc b/meta/packages/ipkg/ipkg.inc index 49bdd22c087..e72ece633b5 100644 --- a/meta/packages/ipkg/ipkg.inc +++ b/meta/packages/ipkg/ipkg.inc @@ -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" diff --git a/meta/packages/ipkg/ipkg_0.99.154.bb b/meta/packages/ipkg/ipkg_0.99.154.bb index 20a19966583..eb36fa67cbe 100644 --- a/meta/packages/ipkg/ipkg_0.99.154.bb +++ b/meta/packages/ipkg/ipkg_0.99.154.bb @@ -1,2 +1,2 @@ require ipkg.inc -PR = "r4" +PR = "r5" diff --git a/meta/packages/ncurses/ncurses.inc b/meta/packages/ncurses/ncurses.inc index 030cd1034c1..bc0bb4603ce 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" 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" diff --git a/meta/packages/sysfsutils/sysfsutils_2.0.0.bb b/meta/packages/sysfsutils/sysfsutils_2.0.0.bb index 176c8870e4a..252990cba5c 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 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} diff --git a/meta/packages/tasks/task-oh.bb b/meta/packages/tasks/task-oh.bb index 6b8125966be..e0ffb73cfbd 100644 --- a/meta/packages/tasks/task-oh.bb +++ b/meta/packages/tasks/task-oh.bb @@ -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 index 00000000000..99f8c072446 --- /dev/null +++ b/meta/packages/update-alternatives/update-alternatives-cworth-native_0.99.154.bb @@ -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 index 00000000000..e5bf1c8e27a --- /dev/null +++ b/meta/packages/update-alternatives/update-alternatives-cworth.inc @@ -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 index 00000000000..18dab4e65fa --- /dev/null +++ b/meta/packages/update-alternatives/update-alternatives-cworth_0.99.154.bb @@ -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 index 00000000000..f621e6a13f9 --- /dev/null +++ b/meta/packages/update-alternatives/update-alternatives-dpkg-native_1.13.22.bb @@ -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 index 00000000000..e767ed632b4 --- /dev/null +++ b/meta/packages/update-alternatives/update-alternatives-dpkg.inc @@ -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 index 00000000000..a07d5e36d4c --- /dev/null +++ b/meta/packages/update-alternatives/update-alternatives-dpkg_1.13.22.bb @@ -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 +} diff --git a/meta/packages/web/web_svn.bb b/meta/packages/web/web_svn.bb index f79df30c420..018cbc9bec5 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" 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" 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 b31ed72998b..bbd49933454 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." DEPENDS += " bigreqsproto xproto xextproto xtrans libxau xcmiscproto \ libxdmcp xf86bigfontproto kbproto inputproto" PROVIDES = "virtual/libx11" -RPROVIDES = "virtual/libx11" +# RPROVIDES = "virtual/libx11" XORG_PN = "libX11" 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 89a56719d70..a8f002ea2a1 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 @@ -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 */ 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 92857dc62b3..987b46021fa 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" 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" |