diff --git a/roles/distgit/files/dist-git-upload.cgi b/roles/distgit/files/dist-git-upload.cgi index bbc44a7365..aa05c88667 100644 --- a/roles/distgit/files/dist-git-upload.cgi +++ b/roles/distgit/files/dist-git-upload.cgi @@ -14,6 +14,7 @@ import grp import pwd import syslog import smtplib +import errno import fedmsg import fedmsg.config @@ -179,7 +180,12 @@ def main(): if hash_type == "md5": old_dir = os.path.join(module_dir, filename, checksum) os.makedirs(old_dir) - os.link(dest_file, os.path.join(old_dir, filename)) + + try: + os.link(dest_file, os.path.join(old_dir, filename)) + except OSError as e: + if e.errno != errno.EEXIST: + raise e # Emit a fedmsg message. Load the config to talk to the fedmsg-relay. try: