File createrepo-0.4.10-fixsymlinks.patch of Package createrepo

--- createrepo/genpkgmetadata.py.20070803	2007-06-07 06:33:34.000000000 -0400
+++ createrepo/genpkgmetadata.py	2007-08-03 15:36:17.000000000 -0400
@@ -83,11 +83,15 @@
 
         def extension_visitor(filelist, dirname, names):
             for fn in names:
-                if os.path.isdir(fn):
+                if os.path.islink(dirname + '/' + fn):
+                    if self.cmds['skip-symlinks']:
+                        continue
+                    elif os.path.isdir(dirname + '/' + fn):
+                        os.path.walk(dirname + '/' + fn, extension_visitor, filelist)
+                        continue
+                elif os.path.isdir(dirname + '/' + fn):
                     continue
-                if self.cmds['skip-symlinks'] and os.path.islink(fn):
-                    continue
-                elif fn[-extlen:].lower() == '%s' % (ext):
+                if fn[-extlen:].lower() == '%s' % (ext):
                     relativepath = dirname.replace(startdir, "", 1)
                     relativepath = relativepath.lstrip("/")
                     filelist.append(os.path.join(relativepath,fn))
@@ -325,9 +329,15 @@
 
         def extension_visitor(arg, dirname, names):
             for fn in names:
-                if os.path.isdir(fn):
+                if os.path.islink(dirname + '/' + fn):
+                    if self.cmds['skip-symlinks']:
+                        continue
+                    elif os.path.isdir(dirname + '/' + fn):
+                        os.path.walk(dirname + '/' + fn, extension_visitor, arg)
+                        continue
+                elif os.path.isdir(dirname + '/' + fn):
                     continue
-                elif string.lower(fn[-extlen:]) == '%s' % (ext):
+                if string.lower(fn[-extlen:]) == '%s' % (ext):
                     reldir = os.path.basename(dirname)
                     if reldir == os.path.basename(directory):
                         reldir = ""
openSUSE Build Service is sponsored by