[PATCH] Add an 'epoch' property to pyrpkg.Commands
Dennis Gilmore
dennis at ausil.us
Thu Feb 20 09:53:34 UTC 2014
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Thu, 20 Feb 2014 17:12:19 +0800
Mathieu Bridon <bochecha at fedoraproject.org> wrote:
> ---
> I have an internal app based on pyrpkg which requires knowing the
> epoch of packages, and this is a straight-forward way of having it,
> in the same way we already get the version and release.
>
> This patch only adds it as a property of the class, though, it doesn't
> modify the output of "rpkg verrel". At the time I had made this patch
> Jesse preferred not changing the CLI output.
>
> Having it on the class is way enough for my needs, though, as I use it
> directly.
>
> src/pyrpkg/__init__.py | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/src/pyrpkg/__init__.py b/src/pyrpkg/__init__.py
> index 9086716..c5b4ae4 100644
> --- a/src/pyrpkg/__init__.py
> +++ b/src/pyrpkg/__init__.py
> @@ -103,6 +103,8 @@ class Commands(object):
> self._distval = None
> # The distvar rpm value
> self._distvar = None
> + # The rpm epoch of the cloned module
> + self._epoch = None
> # An authenticated buildsys session
> self._kojisession = None
> # A web url of the buildsys server
> @@ -305,6 +307,14 @@ class Commands(object):
> return self._distvar
>
> @property
> + def epoch(self):
> + """This property ensures the epoch attribute"""
> +
> + if not self._epoch:
> + self.load_nameverrel()
> + return self._epoch
> +
> + @property
> def kojisession(self):
> """This property ensures the kojisession attribute"""
>
> @@ -388,7 +398,7 @@ class Commands(object):
> # We make sure there is a space at the end of our query so
> that # we can split it later. When there are subpackages, we get a
> # listing for each subpackage. We only care about the first.
> - cmd.extend(['-q', '--qf', '"%{NAME} %{VERSION}
> %{RELEASE}??"',
> + cmd.extend(['-q', '--qf', '"%{NAME} %{EPOCH} %{VERSION}
> %{RELEASE}??"', '--specfile', os.path.join(self.path, self.spec)])
> try:
> output, err = subprocess.Popen(' '.join(cmd), shell=True,
> @@ -404,9 +414,15 @@ class Commands(object):
> # Get just the output, then split it by ??, grab the first
> and split # again to get ver and rel
> (self._module_name,
> + self._epoch,
> self._ver,
> self._rel) = output.split('??')[0].split()
>
> + # Most packages don't include a "Epoch: 0" line, in which
> case RPM
> + # returns '(none)'
> + if self._epoch == "(none)":
> + self._epoch = "0"
> +
> @property
> def repo(self):
> """This property ensures the repo attribute"""
applied thanks
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAEBAgAGBQJTBdCfAAoJEH7ltONmPFDRSGMP/1QNx7mjyXyqY6plCsogxF+9
4ha5DOnVAUpHEvozj/NZNDC8OA+WcU2a/R/0KyjH+IX+R+k4ebeA4h6n4j+p1adT
08havzIe6Lt5k/E94LL1Sif4q5nv+cpSIwpBX3YyLt18nkLJtECLOJGSz255rrrn
nBzRRreIZdIx9lu116yO2QvaOR9ghdvYkfxN4JPbMY/2qa6NUZ26IRclroPuRdrS
u7PdSbJkBALAK4v8ZhAaa8SP53vK6uY+TIkHRB2ZDraWaf/slr4YA81nhXrKHZQM
XJTOfb7Qk//RH5YBAsmbJ3xhHr6Ca62hwYVmb2FTXNCG0Aj19+f1iUEKt3wC62LT
OLapzzV/iuenPFAmOC2TCkZJJjeDbDNrNfZ/YiPTsnJ/s/zHa84GAnLuj0bG9tx6
uyK5OJthHaPlpoFzc50FBF9N6FgVJWVWruG6eQhOD0J9laWIvnHhHaK0w4++wEvT
T90/vtdiFNT+aqjMCrW0kAIHc7571osstsBxVeI/7a8QqTh+c+UT9jU6rlk3U86w
qWdYMBSfllzBh6Cxm8m1RJ1CzfCc54N5S8ZDPYxnCGz92DP7nF/BAR4KuMHIfyNr
UVJ1uZ1mi8PiU+CWmZ6X83Cla6AZefRpSEPFobNfm7QiUgx/S/0WhgJGhVPQ7j7s
Py9NxWgVChCpypj3mbh7
=fL5X
-----END PGP SIGNATURE-----
More information about the rel-eng
mailing list