Re: createrepo 0.4.11

Florian La Roche <[email protected]>
Newsgroups gmane.linux.rpm.metadata
Message-ID <[email protected]>
On Tue, Nov 27, 2007 at 01:48:36AM -0500, seth vidal wrote:
> I released createrepo 0.4.11 - it adds a new feature and fixes a couple
> of bugs:
> 
> new feature: -i or --pkglist - this takes a filename which is the list
> of packages (full relative path to the dir where you're making the repo)
> that you want to use from that dir. Sort of the inverse of exclude and
> takes a file list
> 
> bugs:
>  - make the checksum cache tag more precise - helps stop the problem of
> people signing pkgs after having made repodata, then re-running
> createrepo and not getting updated checksums
>   - make sure that createrepo follows dirs which are symlinks
> 
> you can get the new release here:
> 
> http://linux.duke.edu/createrepo/download/createrepo-0.4.11.tar.gz
> 
> let me know what breaks,
> -sv


Hello Seth,

below is a patch to sort the output, otherwise createrepo
depends on the order of the local filesystem and how rpms
are stored there.

Also createrepo is not listed as project on http://linux.duke.edu/
until now.

regards,

Florian La Roche





--- dumpMetadata.py
+++ dumpMetadata.py
@@ -377,7 +377,9 @@
         except TypeError:
             del u  # move on to the next method
         else:
-            return u.keys()
+            ret = u.keys()
+            ret.sort()
+            return ret
     
         # We can't hash all the elements.  Second fastest is to sort,
         # which brings the equal elements together; then duplicates are
@@ -472,7 +474,7 @@
             for glob in self.filerc:
                 if glob.match(item):
                     returns[item] = 1
-        return returns
+        return returns.keys()
                     
     def usefulGhosts(self):
         """search for useful ghost file names"""
@@ -483,7 +485,7 @@
             for glob in self.filerc:
                 if glob.match(item):
                     returns[item] = 1
-        return returns
+        return returns.keys()
 
 
     def usefulDirs(self):
@@ -668,16 +670,22 @@
             if prereq == 1:
                 entry.newProp('pre', str(prereq))
         
-    for file in rpmObj.usefulFiles():
+    ff = rpmObj.usefulFiles()
+    ff.sort()
+    for file in ff:
         files = format.newChild(None, 'file', None)
         file = utf8String(file)
         files.addContent(file)
-    for directory in rpmObj.usefulDirs():
+    ff = rpmObj.usefulDirs()
+    ff.sort()
+    for directory in ff:
         files = format.newChild(None, 'file', None)
         directory = utf8String(directory)
         files.addContent(directory)
         files.newProp('type', 'dir')
-    for directory in rpmObj.usefulGhosts():
+    ff = rpmObj.usefulGhosts()
+    ff.sort()
+    for directory in ff:
         files = format.newChild(None, 'file', None)
         directory = utf8String(directory)
         files.addContent(directory)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.