Hi I was trying to create a local repository and learned the hard way createrepo's -g flag is relative to rpm directory. I am sure I am not the first one to spend some time on that. We could do either of two things: a) Update the usage() and inform the user that -g is relative path to <directory-of-packages> b) Use absolute path for -g I prefer (b). I created a repository by copying the Fedora CDs. Then the directory structure looks like this: /var |--www |--fc4 |--Fedora |--base |--comps.xml |--RPMS |--foo.rpm To generate the repodata I would typical expect to execute: $ createrepo -g /var/www/fc4/Fedora/base/comp.xml /var/www/fc4/Fedora/RPMS With option (a) I have to copy the comp.xml to RPMS folder or provide a ../base/comp.xml which is not very intuitive. Thoughts? And one question: The createrepo created repodata in RPMS folder for me. But under linux.duke ftp mirror repodata exists under the arch(e.g. i386) folder and <location href> in primary.xml correctly points to "Fedora/RPMS/foo.rpm". How can I do the same? Thanks. Arun Bhanu