From 7f0e90b56709d67f7042c0bf390b7a60bcd2a4f2 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 23 Feb 2015 16:11:20 +0000 Subject: Revert "logrotate: 3.8.8 -> 3.8.9" This reverts commit 0a69248db774f169318fc5954c805f0a7e8803dc. The update causes QA failures on the autobuilder. --- .../logrotate/act-as-mv-when-rotate.patch | 48 ++++++++--------- .../disable-check-different-filesystems.patch | 30 +++++------ .../logrotate/logrotate/update-the-manual.patch | 26 ++++----- meta/recipes-extended/logrotate/logrotate_3.8.8.bb | 62 ++++++++++++++++++++++ meta/recipes-extended/logrotate/logrotate_3.8.9.bb | 62 ---------------------- 5 files changed, 108 insertions(+), 120 deletions(-) create mode 100644 meta/recipes-extended/logrotate/logrotate_3.8.8.bb delete mode 100644 meta/recipes-extended/logrotate/logrotate_3.8.9.bb diff --git a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch b/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch index 15f171ed6f..ce64040d5f 100644 --- a/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch +++ b/meta/recipes-extended/logrotate/logrotate/act-as-mv-when-rotate.patch @@ -1,12 +1,9 @@ -From 68f29ab490cf987aa34b5f4caf1784b58a021308 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Tue, 17 Feb 2015 21:08:07 -0800 -Subject: [PATCH] Act as the "mv" command when rotate log +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 --- @@ -14,10 +11,10 @@ Signed-off-by: Robert Yang 1 file changed, 56 insertions(+), 9 deletions(-) diff --git a/logrotate.c b/logrotate.c -index 05e74c9..616418f 100644 +index 174a26b..b18b629 100644 --- a/logrotate.c +++ b/logrotate.c -@@ -1000,6 +1000,53 @@ int findNeedRotating(struct logInfo *log, int logNum, int force) +@@ -906,6 +906,53 @@ int findNeedRotating(struct logInfo *log, int logNum, int force) return 0; } @@ -71,7 +68,7 @@ index 05e74c9..616418f 100644 int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state, struct logNames *rotNames) { -@@ -1364,15 +1411,15 @@ int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state, +@@ -1268,15 +1315,15 @@ int prerotateSingleLog(struct logInfo *log, int logNum, struct logState *state, } message(MESS_DEBUG, @@ -90,21 +87,22 @@ index 05e74c9..616418f 100644 oldName, newName, strerror(errno)); hasErrors = 1; } -@@ -1511,10 +1558,10 @@ int rotateSingleLog(struct logInfo *log, int logNum, struct logState *state, - return 1; +@@ -1408,11 +1455,11 @@ int rotateSingleLog(struct logInfo *log, int logNum, struct logState *state, } - -- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum], -+ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum], - tmpFilename); -- if (!debug && !hasErrors && rename(log->files[logNum], tmpFilename)) { -- message(MESS_ERROR, "failed to rename %s to %s: %s\n", -+ if (!debug && !hasErrors && mvFile(log->files[logNum], rotNames->finalName, log, prev_acl)) { -+ message(MESS_ERROR, "failed to move %s to %s: %s\n", - log->files[logNum], tmpFilename, - strerror(errno)); - if (errno == ENOENT) { -@@ -1912,7 +1959,7 @@ int rotateLogSet(struct logInfo *log, int force) + } + #endif /* WITH_ACL */ +- message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum], ++ message(MESS_DEBUG, "moving %s to %s\n", log->files[logNum], + rotNames->finalName); + 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, 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; } @@ -113,7 +111,7 @@ index 05e74c9..616418f 100644 { struct logState *p; FILE *f; -@@ -2076,7 +2123,7 @@ static int writeState(char *stateFilename) +@@ -1939,7 +1986,7 @@ static int writeState(char *stateFilename) fclose(f); if (error == 0) { @@ -122,7 +120,7 @@ index 05e74c9..616418f 100644 unlink(tmpFilename); error = 1; message(MESS_ERROR, "error renaming temp state file %s\n", -@@ -2362,7 +2409,7 @@ int main(int argc, const char **argv) +@@ -2223,7 +2270,7 @@ int main(int argc, const char **argv) rc |= rotateLogSet(log, force); if (!debug) @@ -132,5 +130,5 @@ index 05e74c9..616418f 100644 return (rc != 0); } -- -1.7.9.5 +1.7.10.4 diff --git a/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch b/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch index 0535a45e08..43ebcffbae 100644 --- a/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch +++ b/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch @@ -1,12 +1,9 @@ -From 263212af7b7fe1083f777255d91f029401391e4f Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Tue, 17 Feb 2015 21:18:39 -0800 -Subject: [PATCH] Disable the check for different filesystems +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 --- @@ -14,25 +11,24 @@ Signed-off-by: Robert Yang 1 file changed, 9 deletions(-) diff --git a/config.c b/config.c -index dbbf563..64e66f6 100644 +index e0eadb7..c23092f 100644 --- a/config.c +++ b/config.c -@@ -1493,15 +1493,6 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig) - goto error; - } +@@ -1515,15 +1515,6 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig) + dirName, strerror(errno)); + goto error; } - - if (sb.st_dev != sb2.st_dev -- && !(newlog->flags & (LOG_FLAG_COPYTRUNCATE | LOG_FLAG_COPY | LOG_FLAG_TMPFILENAME))) { -- message(MESS_ERROR, -- "%s:%d olddir %s and log file %s " -- "are on different devices\n", configFile, -- lineNum, newlog->oldDir, newlog->files[i]); -- goto error; +- && !(newlog->flags & (LOG_FLAG_COPYTRUNCATE | LOG_FLAG_COPY))) { +- message(MESS_ERROR, +- "%s:%d olddir %s and log file %s " +- "are on different devices\n", configFile, +- lineNum, newlog->oldDir, newlog->files[i]); +- goto error; - } } - } + } -- 1.7.9.5 - diff --git a/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch b/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch index 50d037d5a1..517acdd27e 100644 --- a/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch +++ b/meta/recipes-extended/logrotate/logrotate/update-the-manual.patch @@ -1,32 +1,26 @@ -From e0b0fe30e9c49234994a20a86aacfaf80e690087 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Tue, 17 Feb 2015 21:14:37 -0800 -Subject: [PATCH] Update the manual +Update the manual Update the manual for rotating on different filesystems. -Upstream-Status: Pending +Upstream-Status: Submitted Signed-off-by: Robert Yang --- - logrotate.8 | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) + logrotate.8 | 7 +++---- + 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/logrotate.8 b/logrotate.8 -index e4e5f48..84407d0 100644 +index 8b34167..5f15432 100644 --- a/logrotate.8 +++ b/logrotate.8 -@@ -405,12 +405,10 @@ Do not rotate the log if it is empty (this overrides the \fBifempty\fR option). - +@@ -374,10 +374,9 @@ Do not rotate the log if it is empty (this overrides the \fBifempty\fR option). .TP \fBolddir \fIdirectory\fR --Logs are moved into \fIdirectory\fR for rotation. The \fIdirectory\fR must be --on the same physical device as the log file being rotated, unless \fBcopy\fR, --\fBcopytruncate\fR or \fBrenamecopy\fR option is used. The \fIdirectory\fR --is assumed to be relative to the directory holding the log file + Logs are moved into \fIdirectory\fR for rotation. The \fIdirectory\fR +-must be on the same physical device as the log file being rotated, +-and is assumed to be relative to the directory holding the log file -unless an absolute path name is specified. When this option is used all -old versions of the log end up in \fIdirectory\fR. This option may be -+Logs are moved into \fIdirectory\fR for rotation. The \fIdirectory\fR +is assumed to be relative to the directory holding the log file unless +an absolute path name is specified. When this option is used all old +versions of the log end up in \fIdirectory\fR. This option may be @@ -34,5 +28,5 @@ index e4e5f48..84407d0 100644 .TP -- -1.7.9.5 +1.7.4.1 diff --git a/meta/recipes-extended/logrotate/logrotate_3.8.8.bb b/meta/recipes-extended/logrotate/logrotate_3.8.8.bb new file mode 100644 index 0000000000..00432dede2 --- /dev/null +++ b/meta/recipes-extended/logrotate/logrotate_3.8.8.bb @@ -0,0 +1,62 @@ +SUMMARY = "Rotates, compresses, removes and mails system log files" +SECTION = "console/utils" +HOMEPAGE = "https://fedorahosted.org/logrotate/" +LICENSE = "GPLv2" + +# TODO: logrotate 3.8.8 adds autotools/automake support, update recipe to use it. +# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox? + +DEPENDS="coreutils popt" + +LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760" + +SRC_URI = "https://fedorahosted.org/releases/l/o/logrotate/logrotate-${PV}.tar.gz \ + file://act-as-mv-when-rotate.patch \ + file://update-the-manual.patch \ + file://disable-check-different-filesystems.patch \ + " + +SRC_URI[md5sum] = "49846e873dddea15964cd0355b9943ca" +SRC_URI[sha256sum] = "46a1510ef4a1f4359edd5f361112cfd1523942e85ff28e6cbb0c81bad1829d0f" + +PACKAGECONFIG ?= "\ + ${@base_contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \ +" + +PACKAGECONFIG[acl] = ",,acl" +PACKAGECONFIG[selinux] = ",,libselinux" + +# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our +# optimization variables, so use it rather than EXTRA_CFLAGS. +EXTRA_OEMAKE = "\ + LFS= \ + OS_NAME='${OS_NAME}' \ + \ + 'CC=${CC}' \ + 'RPM_OPT_FLAGS=${CFLAGS}' \ + 'EXTRA_LDFLAGS=${LDFLAGS}' \ + \ + ${@base_contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \ + ${@base_contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \ +" + +# OS_NAME in the makefile defaults to `uname -s`. The behavior for +# freebsd/netbsd is questionable, so leave it as Linux, which only sets +# INSTALL=install and BASEDIR=/usr. +OS_NAME = "Linux" + +do_compile_prepend() { + # Make sure the recompile is OK + rm -f ${B}/.depend +} + +do_install(){ + oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} BINDIR=${bindir} + mkdir -p ${D}${sysconfdir}/logrotate.d + mkdir -p ${D}${sysconfdir}/cron.daily + mkdir -p ${D}${localstatedir}/lib + install -p -m 644 examples/logrotate-default ${D}${sysconfdir}/logrotate.conf + install -p -m 755 examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate + touch ${D}${localstatedir}/lib/logrotate.status +} diff --git a/meta/recipes-extended/logrotate/logrotate_3.8.9.bb b/meta/recipes-extended/logrotate/logrotate_3.8.9.bb deleted file mode 100644 index 8611a3e8a5..0000000000 --- a/meta/recipes-extended/logrotate/logrotate_3.8.9.bb +++ /dev/null @@ -1,62 +0,0 @@ -SUMMARY = "Rotates, compresses, removes and mails system log files" -SECTION = "console/utils" -HOMEPAGE = "https://fedorahosted.org/logrotate/" -LICENSE = "GPLv2" - -# TODO: logrotate 3.8.8 adds autotools/automake support, update recipe to use it. -# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox? - -DEPENDS="coreutils popt" - -LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760" - -SRC_URI = "https://fedorahosted.org/releases/l/o/logrotate/logrotate-${PV}.tar.gz \ - file://act-as-mv-when-rotate.patch \ - file://update-the-manual.patch \ - file://disable-check-different-filesystems.patch \ - " - -SRC_URI[md5sum] = "2660f30742da79870d15d042b07829f6" -SRC_URI[sha256sum] = "700ed7ce9072a1cca324779a74797dfaefdae37ac50a817134b947c4ded1dfa7" - -PACKAGECONFIG ?= "\ - ${@base_contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \ - ${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \ -" - -PACKAGECONFIG[acl] = ",,acl" -PACKAGECONFIG[selinux] = ",,libselinux" - -# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our -# optimization variables, so use it rather than EXTRA_CFLAGS. -EXTRA_OEMAKE = "\ - LFS= \ - OS_NAME='${OS_NAME}' \ - \ - 'CC=${CC}' \ - 'RPM_OPT_FLAGS=${CFLAGS}' \ - 'EXTRA_LDFLAGS=${LDFLAGS}' \ - \ - ${@base_contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \ - ${@base_contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \ -" - -# OS_NAME in the makefile defaults to `uname -s`. The behavior for -# freebsd/netbsd is questionable, so leave it as Linux, which only sets -# INSTALL=install and BASEDIR=/usr. -OS_NAME = "Linux" - -do_compile_prepend() { - # Make sure the recompile is OK - rm -f ${B}/.depend -} - -do_install(){ - oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} BINDIR=${bindir} - mkdir -p ${D}${sysconfdir}/logrotate.d - mkdir -p ${D}${sysconfdir}/cron.daily - mkdir -p ${D}${localstatedir}/lib - install -p -m 644 examples/logrotate-default ${D}${sysconfdir}/logrotate.conf - install -p -m 755 examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate - touch ${D}${localstatedir}/lib/logrotate.status -} -- cgit 1.2.3-korg