mirror of
https://git.yoctoproject.org/poky
synced 2026-04-28 06:32:34 +02:00
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:
committed by
Richard Purdie
parent
63281708fa
commit
907c8ce625
@@ -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
|
||||
|
||||
@@ -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>
|
||||
---
|
||||
@@ -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
|
||||
|
||||
@@ -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}'"
|
||||
|
||||
Reference in New Issue
Block a user