Version-Release number of selected component: createrepo-0.9.9-21.fc19 Additional info: reporter: libreport-2.1.6 cmdline: /usr/bin/python -t /usr/share/createrepo/genpkgmetadata.py --quiet --database --update --unique-md-filenames /var/lib/yum/plugins/local executable: /usr/share/createrepo/genpkgmetadata.py kernel: 3.10.9-200.fc19.x86_64 runlevel: N 5 type: Python uid: 0 Truncated backtrace: __init__.py:70:__init__:OSError: [Errno 2] No such file or directory Traceback (most recent call last): File "/usr/share/createrepo/genpkgmetadata.py", line 294, in <module> main(sys.argv[1:]) File "/usr/share/createrepo/genpkgmetadata.py", line 245, in main conf = createrepo.MetaDataConfig() File "/usr/lib/python2.7/site-packages/createrepo/__init__.py", line 70, in __init__ self.basedir = os.getcwd() OSError: [Errno 2] No such file or directory Local variables in innermost frame: self: <createrepo.MetaDataConfig object at 0x23cbfd0>
Created attachment 790948 [details] File: backtrace
Created attachment 790949 [details] File: environ
The cause is the same as Yum BZ 711358, I've copied the fix to createrepo.
createrepo-0.9.9-23.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/createrepo-0.9.9-23.fc19
Package createrepo-0.9.9-23.fc19: * should fix your issue, * was pushed to the Fedora 19 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing createrepo-0.9.9-23.fc19' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-18128/createrepo-0.9.9-23.fc19 then log in and leave karma (feedback).
The fix doesn't make much sense. Or to put it differently, it's a bad fix for some cases. Unlike Yum, which does not want to write files to $PWD, createrepo may be used to create repo metadata in $PWD or in paths relative to $PWD. Entering '/' is not the right solution then - and I wonder when would it be the right thing to do at all? Even if the root directory is the top of a special storage space that is writable by the user that runs createrepo, that user may not want createrepo to start traversing the filesystem at that location. Createrepo ought to catch the OSError exception and error out. No more than that.
Createrepo does not write to $PWD, it saves metadata to pkgdir/repodata". The above fix makes sense, at least when absolute pkgdirs are specified. I'm not convinced that chdir / is better than to err out imediately, but added it for consistency with yum. But doing a directory walk from / in the "createrepo ." case is very bad, agreed, so I'll probably change it.
createrepo-0.10-0.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/createrepo-0.10-0.fc19
Package createrepo-0.10-0.fc19: * should fix your issue, * was pushed to the Fedora 19 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing createrepo-0.10-0.fc19' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-19464/createrepo-0.10-0.fc19 then log in and leave karma (feedback).
createrepo-0.10-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/createrepo-0.10-1.fc19
createrepo-0.10-1.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.