Add an AGL revision to the RPM package 67/16667/20
authorRonan Le Martret <ronan.lemartret@iot.bzh>
Tue, 18 Sep 2018 08:13:39 +0000 (08:13 +0000)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Fri, 28 Sep 2018 13:24:00 +0000 (13:24 +0000)
commit431cec1bfff374ddca12772c30ce8c8907c8a02a
treeeb03569c86135c02a2f12a6798a470915302cbc6
parentdd2ec33339bdbd4999108531a20d74af02753793
Add an AGL revision to the RPM package

* To update a rpm file (with dnf) we need to have a valid rpm revision.

  Let 2 packages pkg_1 and pkg_2 (built in yocto).
  If pkg_2 is newer than pkg_1, and one wants to be able to update it
  with dnf, it must respect some rpm naming rules.

  if ${pkg_2_name} > ${pkg_1_name}
     -> pkg_2 is newer than pkg_1
  elif ${pkg_2_name} = ${pkg_1_name} and ${pkg_2_revision} > ${pkg_1_revision}
     -> pkg_2 is newer than pkg_1
  else
     -> pkg_2 is equal or older than pkg_1

  Currently, the Yocto build process (used by AGL, so whithout special service)
  doesn't change revisions for a build. So packages are not updatable from a repository
  with dnf.

* This patch adds an option -r|--rpm-revision <schema> to aglsetup.sh so that RPMs
  produced by bitbake will have correct revisions suitable for binary publishing.

  <schema> can be:
    'prservice[:<address>]' : Use a PR service daemon.
        if <address> is not specified, the default value 'localhost:0'
        is used (shortcut for a PR service started by bitbake)
    'timestamp' : Use a generated time stamp (UTC).
    'value:<revision>' : Use <revision> explicitly.
    'none' : Do nothing.

p16: change --rpm-revision options parsing, use UTC timestamps, refactor code
p19: remove smart parsing of host:port for prservice option - back to dumb option

Bug-AGL: SPEC-920

Change-Id: I1f4c9fd093fa350d19450a12ac1847885740596d
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
Signed-off-by: Johann CAHIER <johann.cahier@iot.bzh>
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
scripts/.aglsetup_genconfig.bash
templates/base/01_setup_pkg_revision.sh [new file with mode: 0644]