logrotate: upgrade to 3.8.7

* Upgrade to 3.8.7
* Rename the patches dir from logrotate-3.8.1 -> logrotate
* Remove grotate-CVE-2011-1548.patch since it had been fixed
* Update act-as-mv-when-rotate.patch and update-the-manual.patch to make
  them work with the higher version, and send them to the upstream
* Fix the HOMEPAGE

(From OE-Core rev: e15d7955a98cfd6923775cdb3aa61756d4f58c2d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang
2014-01-02 03:29:45 -05:00
committed by Richard Purdie
parent 63281708fa
commit 907c8ce625
5 changed files with 48 additions and 33 deletions

View File

@@ -3,18 +3,18 @@ Act as the "mv" command when rotate log
Act as the "mv" command when rotate log, first rename, if failed, then
read and write.
Upstream-Status: Pending
Upstream-Status: Submitted
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
logrotate.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 53 insertions(+), 6 deletions(-)
logrotate.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 56 insertions(+), 9 deletions(-)
diff --git a/logrotate.c b/logrotate.c
index 537e8d6..b04482f 100644
index 174a26b..b18b629 100644
--- a/logrotate.c
+++ b/logrotate.c
@@ -808,6 +808,53 @@ int findNeedRotating(struct logInfo *log, int logNum)
@@ -906,6 +906,53 @@ int findNeedRotating(struct logInfo *log, int logNum, int force)
return 0;
}
@@ -23,7 +23,7 @@ index 537e8d6..b04482f 100644
+ * the strerror(errorno) to handle the error message, so we don't have
+ * to print the error message here */
+
+int mvFile (char *oldName, char *newName, struct logInfo *log)
+int mvFile (char *oldName, char *newName, struct logInfo *log, acl_type acl)
+{
+ struct stat sbprev;
+ int fd_old, fd_new, n;
@@ -45,7 +45,7 @@ index 537e8d6..b04482f 100644
+ return 1;
+ else {
+ if ((fd_new = createOutputFile(newName,
+ O_WRONLY | O_CREAT | O_TRUNC, &sbprev)) < 0 )
+ O_WRONLY | O_CREAT | O_TRUNC, &sbprev, acl, 0)) < 0 )
+ return 1;
+ }
+
@@ -68,8 +68,8 @@ index 537e8d6..b04482f 100644
int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state,
struct logNames *rotNames)
{
@@ -1148,15 +1195,15 @@ int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state,
rotNames->baseName, i, fileext, compext);
@@ -1268,15 +1315,15 @@ int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state,
}
message(MESS_DEBUG,
- "renaming %s to %s (rotatecount %d, logstart %d, i %d), \n",
@@ -77,7 +77,7 @@ index 537e8d6..b04482f 100644
oldName, newName, rotateCount, logStart, i);
- if (!debug && rename(oldName, newName)) {
+ if (!debug && mvFile(oldName, newName, log)) {
+ if (!debug && mvFile(oldName, newName, log, prev_acl)) {
if (errno == ENOENT) {
message(MESS_DEBUG, "old log %s does not exist\n",
oldName);
@@ -87,7 +87,7 @@ index 537e8d6..b04482f 100644
oldName, newName, strerror(errno));
hasErrors = 1;
}
@@ -1286,11 +1333,11 @@ int rotateSingleLog(struct logInfo *log, int logNum, struct logState *state,
@@ -1408,11 +1455,11 @@ int rotateSingleLog(struct logInfo *log, int logNum, struct logState *state,
}
}
#endif /* WITH_ACL */
@@ -97,11 +97,38 @@ index 537e8d6..b04482f 100644
if (!debug && !hasErrors &&
- rename(log->files[logNum], rotNames->finalName)) {
- message(MESS_ERROR, "failed to rename %s to %s: %s\n",
+ mvFile(log->files[logNum], rotNames->finalName, log)) {
+ mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) {
+ message(MESS_ERROR, "failed to move %s to %s: %s\n",
log->files[logNum], rotNames->finalName,
strerror(errno));
hasErrors = 1;
@@ -1775,7 +1822,7 @@ int rotateLogSet(struct logInfo *log, int force)
return hasErrors;
}
-static int writeState(char *stateFilename)
+static int writeState(struct logInfo *log, char *stateFilename)
{
struct logState *p;
FILE *f;
@@ -1939,7 +1986,7 @@ static int writeState(char *stateFilename)
fclose(f);
if (error == 0) {
- if (rename(tmpFilename, stateFilename)) {
+ if (mvFile(tmpFilename, stateFilename, log, prev_acl)) {
unlink(tmpFilename);
error = 1;
message(MESS_ERROR, "error renaming temp state file %s\n",
@@ -2223,7 +2270,7 @@ int main(int argc, const char **argv)
rc |= rotateLogSet(log, force);
if (!debug)
- rc |= writeState(stateFile);
+ rc |= writeState(log, stateFile);
return (rc != 0);
}
--
1.7.4.1
1.7.10.4

View File

@@ -3,7 +3,7 @@ Disable the check for different filesystems
The logrotate supports rotate log across different filesystems now, so
disable the check for different filesystems.
Upstream-Status: Pending
Upstream-Status: Submitted
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---

View File

@@ -1,14 +1,13 @@
Update the manual
* Update the mannual
* Fix a bug in the mannual(\f should be \fR)
Update the manual for rotating on different filesystems.
Upstream-Status: Pending
Upstream-Status: Submitted
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
logrotate.8 | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
logrotate.8 | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/logrotate.8 b/logrotate.8
index 8b34167..5f15432 100644
@@ -28,15 +27,6 @@ index 8b34167..5f15432 100644
overridden by the \fBnoolddir\fR option.
.TP
@@ -435,7 +434,7 @@ Log files are rotated only if they grow bigger then \fIsize\fR bytes. If
\fIsize\fR is followed by \fIk\fR, the size is assumed to be in kilobytes.
If the \fIM\fR is used, the size is in megabytes, and if \fIG\fR is used, the
size is in gigabytes. So \fBsize 100\fR, \fIsize 100k\fR, \fIsize 100M\fR and
-\fIsize 100G\f are all valid.
+\fIsize 100G\fR are all valid.
.TP
\fBsharedscripts\fR
--
1.7.4.1

View File

@@ -1,6 +1,6 @@
SUMMARY = "Rotates, compresses, removes and mails system log files"
SECTION = "console/utils"
HOMEPAGE = "https://fedorahosted.org/releases/l/o/logrotate"
HOMEPAGE = "https://fedorahosted.org/logrotate/"
LICENSE = "GPLv2"
DEPENDS="coreutils popt"
@@ -11,12 +11,10 @@ SRC_URI = "https://fedorahosted.org/releases/l/o/logrotate/logrotate-${PV}.tar.g
file://act-as-mv-when-rotate.patch \
file://disable-check-different-filesystems.patch \
file://update-the-manual.patch \
file://logrotate-CVE-2011-1548.patch \
"
SRC_URI[md5sum] = "bd2e20d8dc644291b08f9215397d28a5"
SRC_URI[sha256sum] = "c12471e70ae8bc923bd5c4f25e8fd6483b68c6301f3cd79f7cfe37bc5b370169"
SRC_URI[md5sum] = "99e08503ef24c3e2e3ff74cc5f3be213"
SRC_URI[sha256sum] = "f6ba691f40e30e640efa2752c1f9499a3f9738257660994de70a45fe00d12b64"
EXTRA_OEMAKE = "CC='${CC}'"