From d8d8be7b39533e63b746c27d71204865abf5f9c9 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 23 Feb 2011 22:46:37 +0100 Subject: [PATCH] Copy packages to repository if we cannot hard-link them. --- pakfire/repository.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pakfire/repository.py b/pakfire/repository.py index dc780c605..ff9a27904 100644 --- a/pakfire/repository.py +++ b/pakfire/repository.py @@ -3,6 +3,7 @@ import fnmatch import logging import os +import shutil import stat import time @@ -301,7 +302,12 @@ class LocalRepository(RepositoryFactory): if not os.path.exists(repo_dirname): os.makedirs(repo_dirname) - os.link(pkg.filename, repo_filename) + # Try to use a hard link if possible, if we cannot do that we simply + # copy the file. + try: + os.link(pkg.filename, repo_filename) + except OSError: + shutil.copy2(pkg.filename, repo_filename) # Create new package object, that is connected to this repository # and so we can do stuff. -- 2.39.5