diff --exclude-from=exclude -N -u -r nsalibsemanage/src/semanage.conf libsemanage-2.0.32/src/semanage.conf --- nsalibsemanage/src/semanage.conf 2008-08-28 09:34:24.000000000 -0400 +++ libsemanage-2.0.32/src/semanage.conf 2009-07-01 11:15:30.000000000 -0400 @@ -35,4 +35,4 @@ # given in . Change this setting if a different # version is necessary. #policy-version = 19 - +expand-check=0 diff --exclude-from=exclude -N -u -r nsalibsemanage/src/semanage_store.c libsemanage-2.0.32/src/semanage_store.c --- nsalibsemanage/src/semanage_store.c 2009-07-07 15:32:32.000000000 -0400 +++ libsemanage-2.0.32/src/semanage_store.c 2009-07-01 11:42:07.000000000 -0400 @@ -441,8 +440,6 @@ char tmp[PATH_MAX]; char buf[4192]; - if (link(src,dst) == 0) return 0; - n = snprintf(tmp, PATH_MAX, "%s.tmp", dst); if (n < 0 || n >= PATH_MAX) return -1; @@ -510,7 +507,8 @@ goto cleanup; } } else if (S_ISREG(sb.st_mode)) { - if (semanage_copy_file(path, path2, sb.st_mode) == -1) { + if ((link(path,path2) == -1) && + (semanage_copy_file(path, path2, sb.st_mode) == -1)) { goto cleanup; } }