rpms/rpm/devel rpm-4.8.0-fsm-sbits.patch, NONE, 1.1 rpm.spec, 1.398, 1.399
Panu Matilainen
pmatilai at fedoraproject.org
Wed Jun 2 06:27:49 UTC 2010
Author: pmatilai
Update of /cvs/pkgs/rpms/rpm/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv6746
Modified Files:
rpm.spec
Added Files:
rpm-4.8.0-fsm-sbits.patch
Log Message:
- remove s-bits on upgrade too (#598775)
rpm-4.8.0-fsm-sbits.patch:
fsm.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
--- NEW FILE rpm-4.8.0-fsm-sbits.patch ---
diff -up rpm-4.8.0/lib/fsm.c.fsm-sbits rpm-4.8.0/lib/fsm.c
--- rpm-4.8.0/lib/fsm.c.fsm-sbits 2009-12-07 16:36:49.000000000 +0200
+++ rpm-4.8.0/lib/fsm.c 2010-06-02 09:25:52.000000000 +0300
@@ -1320,6 +1320,16 @@ static const char * rpmteTypeString(rpmt
}
}
+static void removeSBITS(const char *path)
+{
+ struct stat stb;
+ if (lstat(path, &stb) == 0) {
+ if (S_ISREG(stb.st_mode) && (stb.st_mode & 06000) != 0) {
+ (void) chmod(path, stb.st_mode & 0777);
+ }
+ }
+}
+
#define IS_DEV_LOG(_x) \
((_x) != NULL && strlen(_x) >= (sizeof("/dev/log")-1) && \
rstreqn((_x), "/dev/log", sizeof("/dev/log")-1) && \
@@ -2024,11 +2034,8 @@ if (!(fsm->mapFlags & CPIO_ALL_HARDLINKS
break;
case FSM_UNLINK:
- if (fsm->mapFlags & CPIO_SBIT_CHECK) {
- struct stat stb;
- if (lstat(fsm->path, &stb) == 0 && S_ISREG(stb.st_mode) && (stb.st_mode & 06000) != 0)
- chmod(fsm->path, stb.st_mode & 0777);
- }
+ if (fsm->mapFlags & CPIO_SBIT_CHECK)
+ removeSBITS(fsm->path);
rc = unlink(fsm->path);
if (_fsm_debug && (stage & FSM_SYSCALL))
rpmlog(RPMLOG_DEBUG, " %8s (%s) %s\n", cur,
@@ -2037,6 +2044,8 @@ if (!(fsm->mapFlags & CPIO_ALL_HARDLINKS
rc = (errno == ENOENT ? CPIOERR_ENOENT : CPIOERR_UNLINK_FAILED);
break;
case FSM_RENAME:
+ if (fsm->mapFlags & CPIO_SBIT_CHECK)
+ removeSBITS(fsm->path);
rc = rename(fsm->opath, fsm->path);
#if defined(ETXTBSY) && defined(__HPUX__)
if (rc && errno == ETXTBSY) {
Index: rpm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/rpm/devel/rpm.spec,v
retrieving revision 1.398
retrieving revision 1.399
diff -u -p -r1.398 -r1.399
--- rpm.spec 31 May 2010 06:00:03 -0000 1.398
+++ rpm.spec 2 Jun 2010 06:27:47 -0000 1.399
@@ -21,7 +21,7 @@
Summary: The RPM package management system
Name: rpm
Version: %{rpmver}
-Release: 17%{?dist}
+Release: 18%{?dist}
Group: System Environment/Base
Url: http://www.rpm.org/
Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
@@ -53,6 +53,7 @@ Patch208: rpm-4.8.0-python-mibool.patch
Patch209: rpm-4.8.0-python-emptyds.patch
Patch210: rpm-4.8.0-findlang-localedirs.patch
Patch211: rpm-4.8.0-spec-readline.patch
+Patch212: rpm-4.8.0-fsm-sbits.patch
# These are not yet upstream
Patch301: rpm-4.6.0-niagara.patch
@@ -212,6 +213,7 @@ packages on a system.
%patch209 -p1 -b .python-emptyds
%patch210 -p1 -b .findlang-localedirs
%patch211 -p1 -b .spec-readline
+%patch212 -p1 -b .fsm-sbits
%patch301 -p1 -b .niagara
%patch302 -p1 -b .geode
@@ -428,6 +430,9 @@ exit 0
%doc doc/librpm/html/*
%changelog
+* Wed Jun 02 2010 Panu Matilainen <pmatilai at redhat.com> - 4.8.0-18
+- remove s-bits on upgrade too (#598775)
+
* Thu May 27 2010 Panu Matilainen <pmatilai at redhat.com> - 4.8.0-17
- fix segfault in spec parser (#597835)
More information about the scm-commits
mailing list