aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/packagegroups
AgeCommit message (Collapse)Author
2016-08-25packagegroup-core-x11-base.bb: remove pointercalMaxin B. John
Remove pointercal from packagegroup-core-x11-base since we removed xtscal in favour of xinput-calibrator Signed-off-by: Maxin B. John <maxin.john@intel.com>
2016-08-04Revert "packagegroup-core-x11-base.bb: replace pointercal with ↵Richard Purdie
pointercal-xinput" This reverts commit a93c45fa77eb7ea31b91d5bad3c64634bd1476ee until we merge the rest of the pointercal patches.
2016-08-04packagegroup-core-x11-base.bb: replace pointercal with pointercal-xinputMaxin B. John
Replace pointercal with pointercal-xinput since we removed pointercal recipe. Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
import logging
import os.path
import errno
import sys
import warnings
import sqlite3

try:
    import sqlite3
except ImportError:
    from pysqlite2 import dbapi2 as sqlite3

sqlversion = sqlite3.sqlite_version_info
if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
    raise Exception("sqlite3 version 3.3.0 or later is required.")

class NotFoundError(StandardError):
    pass

class PRTable():
    def __init__(self,cursor,table):
        self.cursor = cursor
        self.table = table

        #create the table
        self._execute("CREATE TABLE IF NOT EXISTS %s \
                    (version TEXT NOT NULL, \
                    checksum TEXT NOT NULL, \
                    value INTEGER, \
                    PRIMARY KEY (version,checksum));"
                      % table)

    def _execute(self, *query):
        """Execute a query, waiting to acquire a lock if necessary"""
        count = 0
        while True:
            try:
                return self.cursor.execute(*query)
            except sqlite3.OperationalError as exc:
                if 'database is locked' in str(exc) and count < 500:
                    count = count + 1
                    continue
                raise
            except sqlite3.IntegrityError as exc:
                print "Integrity error %s" % str(exc)
                break

    def getValue(self, version, checksum):
        data=self._execute("SELECT value FROM %s WHERE version=? AND checksum=?;" % self.table,
                           (version,checksum))
        row=data.fetchone()
        if row != None:
            return row[0]
        else:
            #no value found, try to insert
            self._execute("INSERT INTO %s VALUES (?, ?, (select ifnull(max(value)+1,0) from %s where version=?));" 
                           % (self.table,self.table),
                           (version,checksum,version))
            data=self._execute("SELECT value FROM %s WHERE version=? AND checksum=?;" % self.table,
                               (version,checksum))
            row=data.fetchone()
            if row != None:
                return row[0]
            else:
                raise NotFoundError

class PRData(object):
    """Object representing the PR database"""
    def __init__(self, filename):
        self.filename=os.path.abspath(filename)
        #build directory hierarchy
        try:
            os.makedirs(os.path.dirname(self.filename))
        except OSError as e:
            if e.errno != errno.EEXIST:
                raise e
        self.connection=sqlite3.connect(self.filename, timeout=5,
                                          isolation_level=None)
        self.cursor=self.connection.cursor()
        self._tables={}

    def __del__(self):
        print "PRData: closing DB %s" % self.filename
        self.connection.close()

    def __getitem__(self,tblname):
        if not isinstance(tblname, basestring):
            raise TypeError("tblname argument must be a string, not '%s'" %
                            type(tblname))
        if tblname in self._tables:
            return self._tables[tblname]
        else:
            tableobj = self._tables[tblname] = PRTable(self.cursor, tblname)
            return tableobj

    def __delitem__(self, tblname):
        if tblname in self._tables:
            del self._tables[tblname]
        logging.info("drop table %s" % (tblname))
        self.cursor.execute("DROP TABLE IF EXISTS %s;" % tblname) 
ed-core-contrib/commit/meta/recipes-graphics/packagegroups?h=ChenQi/rpm2cpio&id=5dd4de086d744c81d2275077ad0e0022204b0a68'>packagegroup-*: add RREPLACES/RCONFLICTS
Paul Eggleton
These are needed to support upgrading from task-* to packagegroup-* within existing target images at runtime. Note: these settings will very likely be moved out to a separate inc file at some point in the future. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-03packagegroup-*: add RPROVIDES for backwards compatibilityPaul Eggleton
Allow references to the old task packages to continue to work. This does not add RPROVIDES for everything, just those packages that are likely to have been referred to. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-03packagegroup-*: set reasonable SUMMARY/DESCRIPTIONPaul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-03packagegroup-core-clutter: remove empty -apps/-tests tasksPaul Eggleton
These aren't useful at the moment, so remove them and all references to them. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-03packagegroup-*: drop LIC_FILES_CHKSUMPaul Eggleton
Since package groups don't actually fetch or distribute anything and we no longer run do_configure we don't need to set this variable anymore. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-03packagegroup-core-gtk-directfb: remove dropbearPaul Eggleton
This is unrelated and does not belong in this package group. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-03packagegroup-core-gtk-directfb: remove superfluous -base packagePaul Eggleton
There's only one package, just make it the main one; also update core-image-gtk-directfb to match and tidy it up a bit. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-03packagegroup-core-x11*: adjust X11 package groupsPaul Eggleton
Now the Sato pieces have been moved out, rebase packagegroup-core-x11 on packagegroup-x11-mini but using the structure/contents of meta-oe's task-x11 so that it can replace that; rename packagegroup-core-x11-mini to packagegroup-core-x11-base and pull in the xserver/utils packages via packagegroup-core-x11, and move both of these recipes under recipes-graphics. x11-mini is renamed to x11-base as it's what people should build on top of and since x11-mini is newer, the corresponding IMAGE_FEATURES item is less likely to be used in existing user recipes. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-03packagegroup-*: change to inherit from packagegroup.bbclassPaul Eggleton
Also clean out items already handled by that class (dev/dbg packages, ALLOW_EMPTY, etc.) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-03Rename task to packagegroupPaul Eggleton
"Package group" is a much more appropriate name for these than task, since we use the word task to describe units of work executed by BitBake. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>