dpkg: Fallback to rename(2) instead of link(2) for systems not supporting hard linkin...
[termux-packages] / packages / dpkg / lib-dpkg-atomic-file.c.patch
1 diff -u -r ../dpkg-1.17.25/lib/dpkg/atomic-file.c ./lib/dpkg/atomic-file.c
2 --- ../dpkg-1.17.25/lib/dpkg/atomic-file.c 2015-04-09 17:40:47.000000000 -0400
3 +++ ./lib/dpkg/atomic-file.c 2015-07-08 22:18:48.766580146 -0400
4 @@ -90,8 +90,12 @@
5
6 if (unlink(name_old) && errno != ENOENT)
7 ohshite(_("error removing old backup file '%s'"), name_old);
8 - if (link(file->name, name_old) && errno != ENOENT)
9 - ohshite(_("error creating new backup file '%s'"), name_old);
10 + if (link(file->name, name_old) && errno != ENOENT) {
11 + /* Termux modification: Try with rename(2) for systems not supporting hardlinks. */
12 + if (rename(file->name, name_old)) {
13 + ohshite(_("error creating new backup file '%s'"), name_old);
14 + }
15 + }
16
17 free(name_old);
18 }