public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "André Erdmann" <dywi@mailerd.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/R_overlay:gsoc13/next commit in: roverlay/
Date: Wed, 19 Jun 2013 18:58:03 +0000 (UTC)	[thread overview]
Message-ID: <1371667895.daf73b9acc9191382332ef2e4582e906db9ad435.dywi@gentoo> (raw)

commit:     daf73b9acc9191382332ef2e4582e906db9ad435
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jun 19 18:51:35 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jun 19 18:51:35 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=daf73b9a

packageinfo: create distmap data, make hashes

---
 roverlay/packageinfo.py | 43 +++++++++++++++++++++++++++++++++++++++----
 1 file changed, 39 insertions(+), 4 deletions(-)

diff --git a/roverlay/packageinfo.py b/roverlay/packageinfo.py
index 90b4250..e8004d0 100644
--- a/roverlay/packageinfo.py
+++ b/roverlay/packageinfo.py
@@ -18,6 +18,8 @@ import os.path
 import logging
 import threading
 
+import roverlay.digest
+
 from roverlay          import config, strutil
 from roverlay.rpackage import descriptionreader
 
@@ -123,7 +125,7 @@ class PackageInfo ( object ):
       self._info               = dict()
       self.readonly            = False
       self._update_lock        = threading.RLock()
-      self.overlay_package_ref = None
+      #self.overlay_package_ref = None
       self.logger              = LOGGER
       #self._evars              = dict()
       #self._lazy_actions       = list()
@@ -373,9 +375,7 @@ class PackageInfo ( object ):
       elif key_low == 'package_src_destpath':
          # src file path relative to distroot (mirror root dir)
          destpath = self._info.get ('src_uri_dest', None )
-         return (
-            destpath or os.path.basename ( self._info ['package_filename'] )
-         )
+         return ( destpath or self._info ['package_filename'] )
 
       # end if <key matches ...>
 
@@ -450,6 +450,41 @@ class PackageInfo ( object ):
       return self._info ['desc_data']
    # --- end of get_desc_data (...) ---
 
+   def get_distmap_item ( self ):
+      return ( self.get_distmap_key(), self.get_distmap_value() )
+   # --- end of get_distmap_item (...) ---
+
+   def get_distmap_key ( self ):
+      return self.get ( "package_src_destpath" )
+   # --- end of get_distmap_key (...) ---
+
+   def get_distmap_value ( self ):
+      assert 'sha256' in self.hashdict
+
+      repo = self.get ( "origin" )
+      return (
+         repo.name,
+         os.path.relpath ( self.get ( "package_file" ), repo.distdir ),
+         self.hashdict ['sha256']
+      )
+   # --- end of get_distmap_value (...) ---
+
+   def make_hashes ( self, hashlist ):
+      pkgfile = self.get ( "package_file" )
+
+      if hasattr ( self, 'hashdict' ) and self.hashdict:
+         new_hashes = (
+            frozenset ( hashlist ) - frozenset ( self.hashdict.keys() )
+         )
+
+         if new_hashes:
+            self.hashdict.update (
+               roverlay.digest.multihash_file ( pkgfile, new_hashes )
+            )
+      else:
+         self.hashdict = roverlay.digest.multihash_file ( pkgfile, hashlist )
+   # --- end of make_hashes (...) ---
+
    def __getitem__ ( self, key ):
       """Returns an item."""
       return self.get ( key, do_fallback=False )


WARNING: multiple messages have this Message-ID (diff)
From: "André Erdmann" <dywi@mailerd.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/
Date: Sat, 22 Jun 2013 15:24:15 +0000 (UTC)	[thread overview]
Message-ID: <1371667895.daf73b9acc9191382332ef2e4582e906db9ad435.dywi@gentoo> (raw)
Message-ID: <20130622152415.CV6ybrZf-IN072MvRbYnU_yIiU4kXKsal4jpKuhYBew@z> (raw)

commit:     daf73b9acc9191382332ef2e4582e906db9ad435
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jun 19 18:51:35 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jun 19 18:51:35 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=daf73b9a

packageinfo: create distmap data, make hashes

---
 roverlay/packageinfo.py | 43 +++++++++++++++++++++++++++++++++++++++----
 1 file changed, 39 insertions(+), 4 deletions(-)

diff --git a/roverlay/packageinfo.py b/roverlay/packageinfo.py
index 90b4250..e8004d0 100644
--- a/roverlay/packageinfo.py
+++ b/roverlay/packageinfo.py
@@ -18,6 +18,8 @@ import os.path
 import logging
 import threading
 
+import roverlay.digest
+
 from roverlay          import config, strutil
 from roverlay.rpackage import descriptionreader
 
@@ -123,7 +125,7 @@ class PackageInfo ( object ):
       self._info               = dict()
       self.readonly            = False
       self._update_lock        = threading.RLock()
-      self.overlay_package_ref = None
+      #self.overlay_package_ref = None
       self.logger              = LOGGER
       #self._evars              = dict()
       #self._lazy_actions       = list()
@@ -373,9 +375,7 @@ class PackageInfo ( object ):
       elif key_low == 'package_src_destpath':
          # src file path relative to distroot (mirror root dir)
          destpath = self._info.get ('src_uri_dest', None )
-         return (
-            destpath or os.path.basename ( self._info ['package_filename'] )
-         )
+         return ( destpath or self._info ['package_filename'] )
 
       # end if <key matches ...>
 
@@ -450,6 +450,41 @@ class PackageInfo ( object ):
       return self._info ['desc_data']
    # --- end of get_desc_data (...) ---
 
+   def get_distmap_item ( self ):
+      return ( self.get_distmap_key(), self.get_distmap_value() )
+   # --- end of get_distmap_item (...) ---
+
+   def get_distmap_key ( self ):
+      return self.get ( "package_src_destpath" )
+   # --- end of get_distmap_key (...) ---
+
+   def get_distmap_value ( self ):
+      assert 'sha256' in self.hashdict
+
+      repo = self.get ( "origin" )
+      return (
+         repo.name,
+         os.path.relpath ( self.get ( "package_file" ), repo.distdir ),
+         self.hashdict ['sha256']
+      )
+   # --- end of get_distmap_value (...) ---
+
+   def make_hashes ( self, hashlist ):
+      pkgfile = self.get ( "package_file" )
+
+      if hasattr ( self, 'hashdict' ) and self.hashdict:
+         new_hashes = (
+            frozenset ( hashlist ) - frozenset ( self.hashdict.keys() )
+         )
+
+         if new_hashes:
+            self.hashdict.update (
+               roverlay.digest.multihash_file ( pkgfile, new_hashes )
+            )
+      else:
+         self.hashdict = roverlay.digest.multihash_file ( pkgfile, hashlist )
+   # --- end of make_hashes (...) ---
+
    def __getitem__ ( self, key ):
       """Returns an item."""
       return self.get ( key, do_fallback=False )


             reply	other threads:[~2013-06-19 18:58 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-19 18:58 André Erdmann [this message]
2013-06-22 15:24 ` [gentoo-commits] proj/R_overlay:master commit in: roverlay/ André Erdmann
  -- strict thread matches above, loose matches on Subject: below --
2013-07-23  7:51 André Erdmann
2013-07-23  7:51 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-23  7:51 [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-07-19 18:00 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-19 18:00 André Erdmann
2013-07-17 18:05 André Erdmann
2013-07-15 22:31 André Erdmann
2013-07-12 13:57 [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-07-12 13:57 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-08 22:47 André Erdmann
2013-07-08 22:47 André Erdmann
2013-07-05 16:55 André Erdmann
2013-07-05 16:55 André Erdmann
2013-07-05 16:55 André Erdmann
2013-06-22 15:24 [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-06-22 15:14 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-06-22 15:24 [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-06-22 15:14 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-06-22 15:24 [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-06-20 23:40 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-06-22 15:24 [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-06-20 23:40 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-06-19 18:58 André Erdmann
2013-06-05 18:08 André Erdmann
2013-06-05 18:08 André Erdmann

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=1371667895.daf73b9acc9191382332ef2e4582e906db9ad435.dywi@gentoo \
    --to=dywi@mailerd.de \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.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