From: Lianhao Lu <lianhao.lu@intel.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 0/5] network based PR service
Date: Thu, 19 May 2011 18:29:22 +0800 [thread overview]
Message-ID: <cover.1305800693.git.lianhao.lu@intel.com> (raw)
From: Lianhao Lu <lianhao.lu@intel.com>
This series of 5 patches implemented the network based PR service and enabled
the poky to use it during the task do_package and do_package_write_xxx. By
using the network based PR service and the basichash for BB_SIGNATURE_HANDLER,
the poky user may not need to bump the PR manually everytime he/she changes
the recipe. The package will get automatically rebuilt and new revision number
reflecting the change will be included in the package feed.
The first patch "[PATCH 1/5] Added the PR service." implemented the network
based PR service on the server side. It is a XMLRPC server with the sqlite3
as the backend database. The users query an automated value from this service
by giving a tuple of (version, checksum). The returned value will
be used as a part of the package revision value during the package feed
creation process. The following algorihtm is used so this PR service could give
multiple build servers new values for the new index tuple and same values for
the same index tuple:
IF the index tuple(version, checksum) is found, THEN
return the value.
ELSE
find the max value in the database with the same version.
increment it and save it into the database along with the index tuple.
return the incremented value.
(Note: If no matching version is found, save and return the value of 0).
ENDIF
To start the network based PR service daemon, run the following command after
"sourcing" the environment file oe-init-build-env:
bitbake-prserv --start
See bitbake-prserv --help to see a detailed description of the options.
The remaining 4 patches enable the poky to use the PR service. In order to use
it, the user needs to set 2 varialbes of PRSERV_HOST and PRSERV_PORT (which
specify the PR service ip address and port, default is "localhost" and "8585"
respectively) in the file conf/local.conf under the building directory.
Unsetting these 2 variables would disable the poky to use the PR service for
backward compatibility.
The following important new variables are introduced in bitbake.conf:
PRFORMAT: The final value goes into the package revision. Default is something
like PR.PRAUTO, where PRAUTO is the value returned by the PR service.
PRAUTOINX: The version part of the index tuple for the PR service. Default is PF.
The checksum of that tuple is the task checksum of do_package.
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: llu/PR-service
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=llu/PR-service
Thanks,
Lianhao Lu <lianhao.lu@intel.com>
---
Lianhao Lu (5):
Added the PR service.
conf/bitbake.conf: Added variables for PR service.
classes/package(prserv).bbclass: Added PR service support.
classes/package_xxx.class: Added PR service support.
meta-yocto/local.conf.sample: Added PRSERV_HOST and PRSERV_PORT.
bitbake/bin/bitbake-prserv | 53 ++++++++++
bitbake/lib/prserv/__init__.py | 11 ++
bitbake/lib/prserv/db.py | 100 +++++++++++++++++++
bitbake/lib/prserv/serv.py | 198 +++++++++++++++++++++++++++++++++++++
meta-yocto/conf/local.conf.sample | 5 +
meta/classes/package.bbclass | 36 +++++--
meta/classes/package_deb.bbclass | 6 +-
meta/classes/package_ipk.bbclass | 6 +-
meta/classes/package_rpm.bbclass | 4 +-
meta/classes/package_tar.bbclass | 4 +-
meta/classes/prserv.bbclass | 29 ++++++
meta/conf/bitbake.conf | 14 +++-
12 files changed, 443 insertions(+), 23 deletions(-)
create mode 100755 bitbake/bin/bitbake-prserv
create mode 100644 bitbake/lib/prserv/__init__.py
create mode 100644 bitbake/lib/prserv/db.py
create mode 100644 bitbake/lib/prserv/serv.py
create mode 100644 meta/classes/prserv.bbclass
next reply other threads:[~2011-05-19 10:28 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-19 10:29 Lianhao Lu [this message]
2011-05-19 10:29 ` [PATCH 1/5] Added the PR service Lianhao Lu
2011-05-19 10:29 ` [PATCH 2/5] conf/bitbake.conf: Added variables for " Lianhao Lu
2011-05-19 11:51 ` Richard Purdie
2011-05-19 10:29 ` [PATCH 3/5] classes/package(prserv).bbclass: Added PR service support Lianhao Lu
2011-05-19 11:54 ` Richard Purdie
2011-05-19 10:29 ` [PATCH 4/5] classes/package_xxx.class: " Lianhao Lu
2011-05-19 10:29 ` [PATCH 5/5] meta-yocto/local.conf.sample: Added PRSERV_HOST and PRSERV_PORT Lianhao Lu
2011-05-19 10:54 ` [PATCH 0/5] network based PR service Koen Kooi
2011-05-19 11:38 ` Richard Purdie
2011-05-19 11:51 ` Koen Kooi
2011-05-19 12:10 ` Richard Purdie
2011-05-19 11:01 ` Frans Meulenbroeks
2011-05-19 11:27 ` Frans Meulenbroeks
2011-05-19 11:35 ` Richard Purdie
2011-05-19 12:02 ` Frans Meulenbroeks
2011-05-19 12:22 ` Richard Purdie
2011-05-19 12:43 ` Frans Meulenbroeks
2011-05-19 13:13 ` Richard Purdie
2011-05-19 14:58 ` Mark Hatle
2011-05-19 12:02 ` Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1305800693.git.lianhao.lu@intel.com \
--to=lianhao.lu@intel.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.