- fix sbit removal code [bnc#610941]
- sort permlist file OBS-URL: https://build.opensuse.org/package/show/Base:System/rpm?expand=0&rev=51
This commit is contained in:
parent
7b6eaa99d4
commit
e7d0fef0bb
47
fixsbits.diff
Normal file
47
fixsbits.diff
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
--- ./lib/fsm.c.orig 2010-06-04 12:34:06.000000000 +0000
|
||||||
|
+++ ./lib/fsm.c 2010-06-04 12:36:46.000000000 +0000
|
||||||
|
@@ -1323,6 +1323,21 @@ static const char * rpmteTypeString(rpmt
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void removeSBITS(const char *path)
|
||||||
|
+{
|
||||||
|
+ struct stat stb;
|
||||||
|
+ if (lstat(path, &stb) == 0 && S_ISREG(stb.st_mode)) {
|
||||||
|
+ if ((stb.st_mode & 06000) != 0) {
|
||||||
|
+ (void) chmod(path, stb.st_mode & 0777);
|
||||||
|
+ }
|
||||||
|
+#if WITH_CAP
|
||||||
|
+ if (stb.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)) {
|
||||||
|
+ (void) cap_set_file(path, NULL);
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
#define IS_DEV_LOG(_x) \
|
||||||
|
((_x) != NULL && strlen(_x) >= (sizeof("/dev/log")-1) && \
|
||||||
|
!strncmp((_x), "/dev/log", sizeof("/dev/log")-1) && \
|
||||||
|
@@ -2028,11 +2043,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,
|
||||||
|
@@ -2041,6 +2053,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) {
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jun 4 15:00:54 CEST 2010 - mls@suse.de
|
||||||
|
|
||||||
|
- fix sbit removal code [bnc#610941]
|
||||||
|
- sort permlist file
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Apr 9 12:00:29 CEST 2010 - mls@suse.de
|
Fri Apr 9 12:00:29 CEST 2010 - mls@suse.de
|
||||||
|
|
||||||
|
4
rpm.spec
4
rpm.spec
@ -113,6 +113,7 @@ Patch76: pythondeps.diff
|
|||||||
Patch77: fontprovides.diff
|
Patch77: fontprovides.diff
|
||||||
Patch78: nosource.diff
|
Patch78: nosource.diff
|
||||||
Patch79: nosignature.diff
|
Patch79: nosignature.diff
|
||||||
|
Patch80: fixsbits.diff
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
#
|
#
|
||||||
# avoid bootstrapping problem
|
# avoid bootstrapping problem
|
||||||
@ -174,6 +175,7 @@ rm -f rpmdb/db.h
|
|||||||
%patch -P 50 -P 51 -P 52 -P 53 -P 54 -P 55 -P 56 -P 57 -P 58 -P 59
|
%patch -P 50 -P 51 -P 52 -P 53 -P 54 -P 55 -P 56 -P 57 -P 58 -P 59
|
||||||
%patch -P 60 -P 61 -P 62 -P 63 -P 64 -P 65 -P 66 -P 67 -P 68 -P 69
|
%patch -P 60 -P 61 -P 62 -P 63 -P 64 -P 65 -P 66 -P 67 -P 68 -P 69
|
||||||
%patch -P 70 -P 71 -P 72 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79
|
%patch -P 70 -P 71 -P 72 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79
|
||||||
|
%patch -P 80
|
||||||
#chmod 755 scripts/find-supplements{,.ksyms}
|
#chmod 755 scripts/find-supplements{,.ksyms}
|
||||||
#chmod 755 scripts/find-provides.ksyms scripts/find-requires.ksyms
|
#chmod 755 scripts/find-provides.ksyms scripts/find-requires.ksyms
|
||||||
#chmod 755 scripts/firmware.prov
|
#chmod 755 scripts/firmware.prov
|
||||||
@ -245,7 +247,7 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/share/locale/de/LC_MESSAGES/rpm.mo
|
|||||||
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
|
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
|
||||||
install -c -m0644 %{SOURCE9} $RPM_BUILD_ROOT/var/adm/fillup-templates/
|
install -c -m0644 %{SOURCE9} $RPM_BUILD_ROOT/var/adm/fillup-templates/
|
||||||
rm -f $RPM_BUILD_ROOT/usr/lib/rpm/cpanflute $RPM_BUILD_ROOT/usr/lib/rpm/cpanflute2
|
rm -f $RPM_BUILD_ROOT/usr/lib/rpm/cpanflute $RPM_BUILD_ROOT/usr/lib/rpm/cpanflute2
|
||||||
find $RPM_BUILD_ROOT/usr/src/packages/* -type d | sed -e "s@$RPM_BUILD_ROOT@@" > $RPM_BUILD_ROOT/usr/lib/rpm/permlist
|
find $RPM_BUILD_ROOT/usr/src/packages/* -type d | sed -e "s@$RPM_BUILD_ROOT@@" | sort > $RPM_BUILD_ROOT/usr/lib/rpm/permlist
|
||||||
install -m 755 %{SOURCE5} $RPM_BUILD_ROOT/usr/lib/rpm
|
install -m 755 %{SOURCE5} $RPM_BUILD_ROOT/usr/lib/rpm
|
||||||
install -m 755 %{SOURCE6} $RPM_BUILD_ROOT/usr/lib/rpm
|
install -m 755 %{SOURCE6} $RPM_BUILD_ROOT/usr/lib/rpm
|
||||||
install -m 755 scripts/find-supplements{,.ksyms} $RPM_BUILD_ROOT/usr/lib/rpm
|
install -m 755 scripts/find-supplements{,.ksyms} $RPM_BUILD_ROOT/usr/lib/rpm
|
||||||
|
Loading…
Reference in New Issue
Block a user