Sync up.. all the deb/dpkg changes which I have locally are now in svn.

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@728 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Chris Larson 2006-09-19 09:04:09 +00:00
parent 04f6953333
commit 4fa2d11bb1
51 changed files with 676 additions and 113 deletions

View 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
}

View 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

View File

@ -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
}

View 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

View 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

View File

@ -1,6 +1,7 @@
inherit package
PACKAGEFUNCS += "do_package_tar"
IMAGE_PKGTYPE ?= "tar"
python package_tar_fn () {
import os

View File

@ -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

View 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

View 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.

View 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"

View 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"

View 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"

View 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

View 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"

View 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"

View 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"

View 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 = ""

View 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

View 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

View 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"

View File

@ -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;
}

View 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
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 ${STAGING_LIBDIR}/apt/methods
install -m 0755 bin/methods/* ${STAGING_LIBDIR}/apt/methods/
install -d ${libdir}/apt/methods
install -m 0755 bin/methods/* ${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 ${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 ${STAGING_DIR}${sysconfdir}/apt
install -d ${STAGING_DIR}${localstatedir}/lib/apt/lists/partial
install -d ${STAGING_DIR}${localstatedir}/cache/apt/archives/partial
install -d ${sysconfdir}/apt
install -d ${localstatedir}/lib/apt/lists/partial
install -d ${localstatedir}/cache/apt/archives/partial
}

View 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"

View 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"};
};

View 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 \

View 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
}

View 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 \

View File

@ -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);

View File

@ -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 = \

View 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 != []:

View 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

View 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

View 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

View 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

View File

@ -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

View 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 = ""

View 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"

View File

@ -1,2 +1,2 @@
require ipkg.inc
PR = "r4"
PR = "r5"

View 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"

View 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}

View 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 \

View File

@ -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
}

View File

@ -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"

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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"

View 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"

View 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 */

View 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"