Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 0/5] network based PR service
Date: Thu, 19 May 2011 13:01:59 +0200	[thread overview]
Message-ID: <BANLkTimrb+YjVGP_eh_i8nDunvye0vApJA@mail.gmail.com> (raw)
In-Reply-To: <cover.1305800693.git.lianhao.lu@intel.com>

2011/5/19 Lianhao Lu <lianhao.lu@intel.com>

> 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
>
>
> What should I do to either disable this for some recipes, or use a
different (private) server?
We do not wish to rely on an external server for proprietary recipes (or for
recipes for which we made a local change in an overlay).
How is this case handled?

Frans


  parent reply	other threads:[~2011-05-19 11:04 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-19 10:29 [PATCH 0/5] network based PR service Lianhao Lu
2011-05-19 10:29 ` [PATCH 1/5] Added the " 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 [this message]
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=BANLkTimrb+YjVGP_eh_i8nDunvye0vApJA@mail.gmail.com \
    --to=fransmeulenbroeks@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox