- augment linux provides/requires for glibc 2.1 backward compatibility.
- fixed --noscript, --notriggers, --excludedocs, and a bunch
of other install/remove flags
+ - fixed noreplace handling
2.5.x -> 2.90
- added --excludepath
enum fileTypes dbWhat, newWhat, diskWhat;
struct stat sb;
int i, rc;
+ int save = (newFlags & RPMFILE_NOREPLACE) ? ALTNAME : SAVE;
if (lstat(filespec, &sb)) {
/* the file doesn't exist on the disk create it unless the new
return CREATE;
if (diskWhat != newWhat) {
- return SAVE;
+ return save;
} else if (newWhat != dbWhat && diskWhat != dbWhat) {
- return SAVE;
+ return save;
} else if (dbWhat != newWhat) {
return CREATE;
} else if (dbWhat != LINK && dbWhat != REG) {
be nice if RPM was smart enough to at least try and
merge the difference ala CVS, but... */
- return SAVE;
+ return save;
}
enum fileTypes whatis(short mode) {
}
if (fi->type == ADDED && otherPkgNum < 0) {
- /* If it isn't in the database, install it.
- FIXME: check for config files here for .rpmorig purporses! */
if (fi->actions[i] == UNKNOWN) {
if ((fi->fflags[i] & RPMFILE_CONFIG) &&
!lstat(fi->fl[i], &sb))