int r;
// Find the dirname of the target
- r = pakfire_path_dirname(path, target);
+ r = pakfire_path_dirname(path, linkpath);
if (r)
return r;
// Make the symlink relative
- r = pakfire_path_relative(path, path, linkpath);
+ r = pakfire_path_relative(path, path, target);
if (r)
return r;
CTX_DEBUG(ctx, "Creating symlink %s -> %s (%s)\n", target, linkpath, path);
// Create the symlink
- r = symlink(target, path);
+ r = symlink(path, linkpath);
if (r) {
- CTX_ERROR(ctx, "Could not create symlink %s (%s)\n", target, path);
+ CTX_ERROR(ctx, "Could not create symlink %s (%s): %m\n", linkpath, path);
return r;
}