File createrepo-0.4.11-fixsymlinks.patch of Package createrepo
Index: genpkgmetadata.py
===================================================================
--- genpkgmetadata.py.orig
+++ genpkgmetadata.py
@@ -99,9 +99,13 @@ class MetaDataGenerator:
def extension_visitor(filelist, dirname, names):
for fn in names:
- if os.path.isdir(fn):
- continue
- if self.cmds['skip-symlinks'] and os.path.islink(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
elif fn[-extlen:].lower() == '%s' % (ext):
relativepath = dirname.replace(startdir, "", 1)
@@ -345,9 +349,15 @@ class SplitMetaDataGenerator(MetaDataGen
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 = ""