summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2017-06-26 00:51:38 +0000
committerTimo Teräs <timo.teras@iki.fi>2017-06-26 10:32:38 +0300
commit17dd532e428e647e9d977e727c87c0f3a4e93ae3 (patch)
treed5f4f20d8888ed5f6fe8b1ff6865748094e8fd72
parent6f9dd59098c1710be8c59613220f1c7fea225960 (diff)
downloadapk-tools-17dd532e428e647e9d977e727c87c0f3a4e93ae3.tar.gz
apk-tools-17dd532e428e647e9d977e727c87c0f3a4e93ae3.tar.bz2
apk-tools-17dd532e428e647e9d977e727c87c0f3a4e93ae3.tar.xz
apk-tools-17dd532e428e647e9d977e727c87c0f3a4e93ae3.zip
database: mark error on renameat failure
-rw-r--r--src/database.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/database.c b/src/database.c
index 4d16900..7c3c646 100644
--- a/src/database.c
+++ b/src/database.c
@@ -2652,8 +2652,12 @@ static void apk_db_migrate_files(struct apk_database *db,
unlinkat(db->root_fd, tmpname, 0);
} else {
/* Overwrite the old file */
- renameat(db->root_fd, tmpname,
- db->root_fd, name);
+ if (renameat(db->root_fd, tmpname,
+ db->root_fd, name) != 0) {
+ apk_error(PKG_VER_FMT": failed to rename %s to %s.",
+ PKG_VER_PRINTF(ipkg->pkg), tmpname, name);
+ ipkg->broken_files = 1;
+ }
}
/* Claim ownership of the file in db */