Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:GA
logrotate
logrotate-3.7.8-addextension.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File logrotate-3.7.8-addextension.patch of Package logrotate
Index: test/test =================================================================== --- test/test.orig 2013-10-10 10:43:36.000000000 +0200 +++ test/test 2013-11-07 21:46:37.112487860 +0100 @@ -1358,4 +1358,27 @@ test.log.1 0 zero EOF +# check rotation with extension appended to the filename +cleanup 100 + +preptest test.log 100 1 0 +$RLR test-config.100 --force + +checkoutput <<EOF +test.log 0 +test.log.1.newext 0 zero +EOF + +# check rotation with extension moved after the number +cleanup 101 + +preptest test.log 101 1 0 +$RLR test-config.101 --force + +checkoutput <<EOF +test.log 0 +test.1.log 0 zero +EOF + + cleanup Index: config.c =================================================================== --- config.c.orig 2013-07-25 14:13:02.780567373 +0200 +++ config.c 2013-07-25 14:13:04.196582364 +0200 @@ -530,6 +530,7 @@ int readAllConfigPaths(const char **path .preremove = NULL, .logAddress = NULL, .extension = NULL, + .addextension = NULL, .compress_prog = NULL, .uncompress_prog = NULL, .compress_ext = NULL, @@ -1217,6 +1218,19 @@ static int readConfigFile(const char *co message(MESS_DEBUG, "extension is now %s\n", newlog->extension); + } else if (!strcmp(key, "addextension")) { + if ((key = isolateValue + (configFile, lineNum, "addextension name", &start, + &buf, length)) != NULL) { + freeLogItem (addextension); + newlog->addextension = key; + key = NULL; + } + else continue; + + message(MESS_DEBUG, "addextension is now %s\n", + newlog->addextension); + } else if (!strcmp(key, "compresscmd")) { freeLogItem (compress_prog); Index: logrotate.8 =================================================================== --- logrotate.8.orig 2013-07-25 14:13:02.780567373 +0200 +++ logrotate.8 2013-07-25 14:13:04.196582364 +0200 @@ -265,6 +265,15 @@ configured to be run by cron daily. You and run \fIlogrotate\fR hourly to be able to really rotate logs hourly. .TP +\fBaddextension \fIext\fR +Log files are given the final extension \fIext\fR after rotation. If +the original file already ends with \fIext\fR, the extension is not +duplicated, but merely moved to the end, i.e. both \fBfilename\fR and +\fBfilename\fIext\fR would get rotated to filename.1\fIext\fR. If +compression is used, the compression extension (normally \fB.gz\fR) +appears after \fIext\fR. + +.TP \fBifempty\fR Rotate the log file even if it is empty, overriding the \fBnotifempty\fR option (\fBifempty\fR is the default). Index: logrotate.c =================================================================== --- logrotate.c.orig 2013-07-25 14:13:02.781567384 +0200 +++ logrotate.c 2013-07-25 14:13:04.196582364 +0200 @@ -964,6 +964,24 @@ int prerotateSingleLog(struct logInfo *l rotNames->baseName = strdup(ourBaseName(log->files[logNum])); + if (log->addextension) { + size_t baseLen = strlen(rotNames->baseName); + size_t extLen = strlen(log->addextension); + if (baseLen >= extLen && + strncmp(&(rotNames->baseName[baseLen - extLen]), + log->addextension, extLen) == 0) { + char *tempstr; + + fileext = log->addextension; + tempstr = calloc(baseLen - extLen + 1, sizeof(char)); + strncat(tempstr, rotNames->baseName, baseLen - extLen); + free(rotNames->baseName); + rotNames->baseName = tempstr; + } else { + fileext = log->addextension; + } + } + if (log->extension && strncmp(& (rotNames-> Index: logrotate.h =================================================================== --- logrotate.h.orig 2013-07-25 14:13:02.781567384 +0200 +++ logrotate.h 2013-07-25 14:13:04.196582364 +0200 @@ -44,6 +44,7 @@ struct logInfo { char *pre, *post, *first, *last, *preremove; char *logAddress; char *extension; + char *addextension; char *compress_prog; char *uncompress_prog; char *compress_ext; Index: test/test-config.100.in =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ test/test-config.100.in 2013-07-25 14:13:04.196582364 +0200 @@ -0,0 +1,7 @@ +create + +&DIR&/test.log { + monthly + rotate 1 + addextension .newext +} Index: test/test-config.101.in =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ test/test-config.101.in 2013-07-25 14:13:04.196582364 +0200 @@ -0,0 +1,7 @@ +create + +&DIR&/test.log { + monthly + rotate 1 + addextension .log +}
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor