break;
case WriteAtomic:
- case WriteEmpty:
{
Flags |= Replace;
char *name = strdup((FileName + ".XXXXXX").c_str());
break;
}
+ case WriteEmpty:
+ {
+ struct stat Buf;
+ if (lstat(FileName.c_str(),&Buf) == 0 && S_ISLNK(Buf.st_mode))
+ unlink(FileName.c_str());
+ iFd = open(FileName.c_str(),O_RDWR | O_CREAT | O_TRUNC,Perms);
+ break;
+ }
case WriteExists:
iFd = open(FileName.c_str(),O_RDWR);
[ Julian Andres Klode ]
* apt-pkg/contrib/fileutl.cc:
- Add WriteAtomic mode.
+ - Revert WriteEmpty to old behavior (LP: #613211)
* apt-pkg/depcache.cc:
- Only try upgrade for Breaks if there is a newer version, otherwise
handle it as Conflicts (by removing it) (helps for #591882).