forked from pool/logrotate
Accepting request 184333 from home:vitezslav_cizek:branches:Base:System
- update to 3.8.5 * dropped logrotate-3.7.9-compressoptions.patch (upstream) * refreshed other patches Changelog: - Improved rotation during daylight saving time and between timezone changes. - Fixed ACL setting problem caused by ext3 erroneously reporting ENOSYS instead of ENOSUP. - Do not continue with rotation if state file is corrupted. - Make logrotate.status creation atomic. - Allow "hourly" rotation. See manpage for more information. - Use "/bin/echo" in tests. Fixes tests execution in Dash. - Do no try to parse config files bigger than 16MB. - Improved manpage consistency and formatting. - Fix race condition between acl_set_fd() and fchmod(). - Added --version command line option - Disable ACL tests if logrotate is not compiled WITH_ACL support or if ACLs are not supported by the system running tests - Disable SELinux tests if logrotate is not compiled WITH_SELINUX support or if SELinux is not supported by the system running tests - Fixed bug which prevented skipping particular log file config if the config contained errors. - Fixed skipping of configs containing firstaction/lastaction scripts with '}' character in case of error before these scripts. - Support also 'K' unit for *size directives. - Added preremove option to let admin to do something with the old logs before they are removed by logrotate. - Fixed possible loop in tabooext parsing. - Move code to set SELinux context before compressLogFile calls to create compressed log files with the proper context. OBS-URL: https://build.opensuse.org/request/show/184333 OBS-URL: https://build.opensuse.org/package/show/Base:System/logrotate?expand=0&rev=24
This commit is contained in:
parent
1faea0988c
commit
4495f5c112
@ -1,16 +1,16 @@
|
|||||||
Index: test/test
|
Index: test/test
|
||||||
===================================================================
|
===================================================================
|
||||||
--- test/test.orig
|
--- test/test.orig 2013-07-25 14:13:04.195582354 +0200
|
||||||
+++ test/test
|
+++ test/test 2013-07-25 14:14:27.468464841 +0200
|
||||||
@@ -427,4 +427,26 @@ test.log 0
|
@@ -1285,6 +1285,28 @@ echo "Does not have GNU Date, skipping p
|
||||||
test.log.1 0 zero
|
fi
|
||||||
EOF
|
|
||||||
|
|
||||||
+# check rotation with extension appended to the filename
|
+# check rotation with extension appended to the filename
|
||||||
+cleanup 17
|
+cleanup 100
|
||||||
+
|
+
|
||||||
+preptest test.log 17 1 0
|
+preptest test.log 100 1 0
|
||||||
+$RLR test-config.17 --force
|
+$RLR test-config.100 --force
|
||||||
+
|
+
|
||||||
+checkoutput <<EOF
|
+checkoutput <<EOF
|
||||||
+test.log 0
|
+test.log 0
|
||||||
@ -18,30 +18,32 @@ Index: test/test
|
|||||||
+EOF
|
+EOF
|
||||||
+
|
+
|
||||||
+# check rotation with extension moved after the number
|
+# check rotation with extension moved after the number
|
||||||
+cleanup 18
|
+cleanup 101
|
||||||
+
|
+
|
||||||
+preptest test.log 18 1 0
|
+preptest test.log 101 1 0
|
||||||
+$RLR test-config.18 --force
|
+$RLR test-config.101 --force
|
||||||
+
|
+
|
||||||
+checkoutput <<EOF
|
+checkoutput <<EOF
|
||||||
+test.log 0
|
+test.log 0
|
||||||
+test.1.log 0 zero
|
+test.1.log 0 zero
|
||||||
+EOF
|
+EOF
|
||||||
+
|
+
|
||||||
# cleanup
|
|
||||||
|
|
||||||
|
cleanup
|
||||||
Index: config.c
|
Index: config.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- config.c.orig
|
--- config.c.orig 2013-07-25 14:13:02.780567373 +0200
|
||||||
+++ config.c
|
+++ config.c 2013-07-25 14:13:04.196582364 +0200
|
||||||
@@ -519,6 +519,7 @@ int readAllConfigPaths(const char **path
|
@@ -530,6 +530,7 @@ int readAllConfigPaths(const char **path
|
||||||
.last = NULL,
|
.preremove = NULL,
|
||||||
.logAddress = NULL,
|
.logAddress = NULL,
|
||||||
.extension = NULL,
|
.extension = NULL,
|
||||||
+ .addextension = NULL,
|
+ .addextension = NULL,
|
||||||
.compress_prog = NULL,
|
.compress_prog = NULL,
|
||||||
.uncompress_prog = NULL,
|
.uncompress_prog = NULL,
|
||||||
.compress_ext = NULL,
|
.compress_ext = NULL,
|
||||||
@@ -1177,6 +1178,19 @@ static int readConfigFile(const char *co
|
@@ -1217,6 +1218,19 @@ static int readConfigFile(const char *co
|
||||||
message(MESS_DEBUG, "extension is now %s\n",
|
message(MESS_DEBUG, "extension is now %s\n",
|
||||||
newlog->extension);
|
newlog->extension);
|
||||||
|
|
||||||
@ -63,10 +65,10 @@ Index: config.c
|
|||||||
|
|
||||||
Index: logrotate.8
|
Index: logrotate.8
|
||||||
===================================================================
|
===================================================================
|
||||||
--- logrotate.8.orig
|
--- logrotate.8.orig 2013-07-25 14:13:02.780567373 +0200
|
||||||
+++ logrotate.8
|
+++ logrotate.8 2013-07-25 14:13:04.196582364 +0200
|
||||||
@@ -248,6 +248,15 @@ appears after \fIext\fR. For example you
|
@@ -265,6 +265,15 @@ configured to be run by cron daily. You
|
||||||
and want to rotate it to mylog.1.foo.gz instead of mylog.foo.1.gz.
|
and run \fIlogrotate\fR hourly to be able to really rotate logs hourly.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
+\fBaddextension \fIext\fR
|
+\fBaddextension \fIext\fR
|
||||||
@ -83,9 +85,9 @@ Index: logrotate.8
|
|||||||
option (\fBifempty\fR is the default).
|
option (\fBifempty\fR is the default).
|
||||||
Index: logrotate.c
|
Index: logrotate.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- logrotate.c.orig
|
--- logrotate.c.orig 2013-07-25 14:13:02.781567384 +0200
|
||||||
+++ logrotate.c
|
+++ logrotate.c 2013-07-25 14:13:04.196582364 +0200
|
||||||
@@ -867,6 +867,24 @@ int prerotateSingleLog(struct logInfo *l
|
@@ -964,6 +964,24 @@ int prerotateSingleLog(struct logInfo *l
|
||||||
|
|
||||||
rotNames->baseName = strdup(ourBaseName(log->files[logNum]));
|
rotNames->baseName = strdup(ourBaseName(log->files[logNum]));
|
||||||
|
|
||||||
@ -112,20 +114,20 @@ Index: logrotate.c
|
|||||||
(rotNames->
|
(rotNames->
|
||||||
Index: logrotate.h
|
Index: logrotate.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- logrotate.h.orig
|
--- logrotate.h.orig 2013-07-25 14:13:02.781567384 +0200
|
||||||
+++ logrotate.h
|
+++ logrotate.h 2013-07-25 14:13:04.196582364 +0200
|
||||||
@@ -44,6 +44,7 @@ struct logInfo {
|
@@ -44,6 +44,7 @@ struct logInfo {
|
||||||
char *pre, *post, *first, *last;
|
char *pre, *post, *first, *last, *preremove;
|
||||||
char *logAddress;
|
char *logAddress;
|
||||||
char *extension;
|
char *extension;
|
||||||
+ char *addextension;
|
+ char *addextension;
|
||||||
char *compress_prog;
|
char *compress_prog;
|
||||||
char *uncompress_prog;
|
char *uncompress_prog;
|
||||||
char *compress_ext;
|
char *compress_ext;
|
||||||
Index: test/test-config.17.in
|
Index: test/test-config.100.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ test/test-config.17.in
|
+++ test/test-config.100.in 2013-07-25 14:13:04.196582364 +0200
|
||||||
@@ -0,0 +1,7 @@
|
@@ -0,0 +1,7 @@
|
||||||
+create
|
+create
|
||||||
+
|
+
|
||||||
@ -134,10 +136,10 @@ Index: test/test-config.17.in
|
|||||||
+ rotate 1
|
+ rotate 1
|
||||||
+ addextension .newext
|
+ addextension .newext
|
||||||
+}
|
+}
|
||||||
Index: test/test-config.18.in
|
Index: test/test-config.101.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ test/test-config.18.in
|
+++ test/test-config.101.in 2013-07-25 14:13:04.196582364 +0200
|
||||||
@@ -0,0 +1,7 @@
|
@@ -0,0 +1,7 @@
|
||||||
+create
|
+create
|
||||||
+
|
+
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: config.c
|
Index: config.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- config.c.orig
|
--- config.c.orig 2013-06-10 14:02:36.000000000 +0200
|
||||||
+++ config.c
|
+++ config.c 2013-07-25 15:42:42.465060702 +0200
|
||||||
@@ -583,6 +583,7 @@ static int readConfigFile(const char *co
|
@@ -594,6 +594,7 @@ static int readConfigFile(const char *co
|
||||||
char **scriptDest = NULL;
|
char **scriptDest = NULL;
|
||||||
struct logInfo *newlog = defConfig;
|
struct logInfo *newlog = defConfig;
|
||||||
char *start, *chptr;
|
char *start, *chptr;
|
||||||
@ -10,11 +10,12 @@ Index: config.c
|
|||||||
char *dirName;
|
char *dirName;
|
||||||
struct group *group;
|
struct group *group;
|
||||||
struct passwd *pw = NULL;
|
struct passwd *pw = NULL;
|
||||||
@@ -1205,6 +1206,18 @@ static int readConfigFile(const char *co
|
@@ -1245,6 +1246,20 @@ static int readConfigFile(const char *co
|
||||||
message(MESS_DEBUG, "compress_prog is now %s\n",
|
message(MESS_DEBUG, "compress_prog is now %s\n",
|
||||||
newlog->compress_prog);
|
newlog->compress_prog);
|
||||||
|
|
||||||
+ compresscmd_base=strdup(basename(newlog->compress_prog));
|
+ compresscmd_base=strdup(basename(newlog->compress_prog));
|
||||||
|
+ fprintf(stdout, "compress_ext is %s\n", newlog->compress_prog);
|
||||||
+ i=0; /* have to check whether we may do this! */
|
+ i=0; /* have to check whether we may do this! */
|
||||||
+ /* we check whether we changed the compress_cmd. In case we use the apropriate extension
|
+ /* we check whether we changed the compress_cmd. In case we use the apropriate extension
|
||||||
+ as listed in compress_cmd_list */
|
+ as listed in compress_cmd_list */
|
||||||
@ -22,6 +23,7 @@ Index: config.c
|
|||||||
+ if (0==strcmp(compress_cmd_list[i][0], compresscmd_base)){
|
+ if (0==strcmp(compress_cmd_list[i][0], compresscmd_base)){
|
||||||
+ newlog->compress_ext=strdup((char *)compress_cmd_list[i][1]);
|
+ newlog->compress_ext=strdup((char *)compress_cmd_list[i][1]);
|
||||||
+ message(MESS_DEBUG, "compress_ext was changed to %s\n", newlog->compress_ext);
|
+ message(MESS_DEBUG, "compress_ext was changed to %s\n", newlog->compress_ext);
|
||||||
|
+ fprintf(stdout, "compress_ext was changed to %s\n", newlog->compress_ext);
|
||||||
+ i=-10; /* terminate loop! */
|
+ i=-10; /* terminate loop! */
|
||||||
+ }
|
+ }
|
||||||
+ i++;
|
+ i++;
|
||||||
@ -31,9 +33,9 @@ Index: config.c
|
|||||||
|
|
||||||
Index: logrotate.c
|
Index: logrotate.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- logrotate.c.orig
|
--- logrotate.c.orig 2013-06-10 14:02:36.000000000 +0200
|
||||||
+++ logrotate.c
|
+++ logrotate.c 2013-07-25 15:30:36.687434418 +0200
|
||||||
@@ -76,6 +76,16 @@ unsigned int hashSize;
|
@@ -85,6 +85,16 @@ unsigned int hashSize;
|
||||||
int numLogs = 0;
|
int numLogs = 0;
|
||||||
int debug = 0;
|
int debug = 0;
|
||||||
char *mailCommand = DEFAULT_MAIL_COMMAND;
|
char *mailCommand = DEFAULT_MAIL_COMMAND;
|
||||||
@ -52,8 +54,8 @@ Index: logrotate.c
|
|||||||
static gid_t save_egid;
|
static gid_t save_egid;
|
||||||
Index: logrotate.h
|
Index: logrotate.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- logrotate.h.orig
|
--- logrotate.h.orig 2013-06-10 14:02:36.000000000 +0200
|
||||||
+++ logrotate.h
|
+++ logrotate.h 2013-07-25 15:30:36.687434418 +0200
|
||||||
@@ -66,6 +66,9 @@ TAILQ_HEAD(logInfoHead, logInfo) logs;
|
@@ -66,6 +66,9 @@ TAILQ_HEAD(logInfoHead, logInfo) logs;
|
||||||
extern int numLogs;
|
extern int numLogs;
|
||||||
extern int debug;
|
extern int debug;
|
||||||
@ -62,5 +64,29 @@ Index: logrotate.h
|
|||||||
+extern const char * compress_cmd_list[][2];
|
+extern const char * compress_cmd_list[][2];
|
||||||
+
|
+
|
||||||
int readAllConfigPaths(const char **paths);
|
int readAllConfigPaths(const char **paths);
|
||||||
#if !defined(asprintf)
|
#if !defined(asprintf) && !defined(_FORTIFY_SOURCE)
|
||||||
int asprintf(char **string_ptr, const char *format, ...);
|
int asprintf(char **string_ptr, const char *format, ...);
|
||||||
|
Index: test/test
|
||||||
|
===================================================================
|
||||||
|
--- test/test.orig 2013-07-25 15:30:36.687434418 +0200
|
||||||
|
+++ test/test 2013-07-25 16:16:11.992044805 +0200
|
||||||
|
@@ -536,19 +536,6 @@ checkoutput <<EOF
|
||||||
|
test.log 0 zero
|
||||||
|
EOF
|
||||||
|
|
||||||
|
-cleanup 18
|
||||||
|
-
|
||||||
|
-# ------------------------------- Test 18 ------------------------------------
|
||||||
|
-preptest test.log 18 1
|
||||||
|
-$RLR test-config.18 --force
|
||||||
|
-
|
||||||
|
-checkoutput <<EOF
|
||||||
|
-test.log 0
|
||||||
|
-test.log.1.gz 1 zero
|
||||||
|
-EOF
|
||||||
|
-
|
||||||
|
-(echo "gzip -f -9") | diff -u - compress-args
|
||||||
|
-
|
||||||
|
cleanup 19
|
||||||
|
|
||||||
|
# ------------------------------- Test 19 ------------------------------------
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
Index: logrotate.c
|
Index: logrotate.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- logrotate.c.orig
|
--- logrotate.c.orig 2013-07-25 14:52:57.493518089 +0200
|
||||||
+++ logrotate.c
|
+++ logrotate.c 2013-07-25 14:52:57.499518158 +0200
|
||||||
@@ -1206,7 +1206,7 @@ int prerotateSingleLog(struct logInfo *l
|
@@ -1327,7 +1327,7 @@ int prerotateSingleLog(struct logInfo *l
|
||||||
|
message(MESS_FATAL, "could not allocate destFile memory\n");
|
||||||
}
|
}
|
||||||
asprintf(&destFile, "%s%s", rotNames->finalName, compext);
|
|
||||||
if (!stat(destFile, &fst_buf)) {
|
if (!stat(destFile, &fst_buf)) {
|
||||||
- message(MESS_DEBUG,
|
- message(MESS_DEBUG,
|
||||||
+ message(MESS_ERROR,
|
+ message(MESS_ERROR,
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
Index: logrotate-3.8.1/config.c
|
|
||||||
===================================================================
|
|
||||||
--- logrotate-3.8.1.orig/config.c
|
|
||||||
+++ logrotate-3.8.1/config.c
|
|
||||||
@@ -192,7 +192,9 @@ static char *readPath(const char *config
|
|
||||||
chptr = start;
|
|
||||||
|
|
||||||
while( (len = mbrtowc(&pwc, chptr, strlen(chptr), NULL)) != 0 ) {
|
|
||||||
- if( len == (size_t)(-1) || len == (size_t)(-2) || !iswprint(pwc) || iswblank(pwc) ) {
|
|
||||||
+ if( len == (size_t)(-1) || len == (size_t)(-2) || !iswprint(pwc) ||
|
|
||||||
+ /* allow more compress options separated by whitespace */
|
|
||||||
+ ( strcmp(key, "compressoptions") && iswblank(pwc) ) ) {
|
|
||||||
message(MESS_ERROR, "%s:%d bad %s path %s\n",
|
|
||||||
configFile, lineNum, key, start);
|
|
||||||
return NULL;
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:c12471e70ae8bc923bd5c4f25e8fd6483b68c6301f3cd79f7cfe37bc5b370169
|
|
||||||
size 48827
|
|
3
logrotate-3.8.5.tar.gz
Normal file
3
logrotate-3.8.5.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6b695bffeb54ed6f6c9a560780231a55c3548a24b96cb06f33b84f8cea600079
|
||||||
|
size 57818
|
@ -1,3 +1,62 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 25 14:19:48 UTC 2013 - vcizek@suse.com
|
||||||
|
|
||||||
|
- update to 3.8.5
|
||||||
|
* dropped logrotate-3.7.9-compressoptions.patch (upstream)
|
||||||
|
* refreshed other patches
|
||||||
|
Changelog:
|
||||||
|
- Improved rotation during daylight saving time and between timezone
|
||||||
|
changes.
|
||||||
|
- Fixed ACL setting problem caused by ext3 erroneously reporting ENOSYS
|
||||||
|
instead of ENOSUP.
|
||||||
|
- Do not continue with rotation if state file is corrupted.
|
||||||
|
- Make logrotate.status creation atomic.
|
||||||
|
- Allow "hourly" rotation. See manpage for more information.
|
||||||
|
- Use "/bin/echo" in tests. Fixes tests execution in Dash.
|
||||||
|
- Do no try to parse config files bigger than 16MB.
|
||||||
|
- Improved manpage consistency and formatting.
|
||||||
|
- Fix race condition between acl_set_fd() and fchmod().
|
||||||
|
- Added --version command line option
|
||||||
|
- Disable ACL tests if logrotate is not compiled WITH_ACL support or if
|
||||||
|
ACLs are not supported by the system running tests
|
||||||
|
- Disable SELinux tests if logrotate is not compiled WITH_SELINUX support
|
||||||
|
or if SELinux is not supported by the system running tests
|
||||||
|
- Fixed bug which prevented skipping particular log file config
|
||||||
|
if the config contained errors.
|
||||||
|
- Fixed skipping of configs containing firstaction/lastaction scripts
|
||||||
|
with '}' character in case of error before these scripts.
|
||||||
|
- Support also 'K' unit for *size directives.
|
||||||
|
- Added preremove option to let admin to do something with the old logs
|
||||||
|
before they are removed by logrotate.
|
||||||
|
- Fixed possible loop in tabooext parsing.
|
||||||
|
- Move code to set SELinux context before compressLogFile calls to create
|
||||||
|
compressed log files with the proper context.
|
||||||
|
- Call prerotate/postrotate script only for really rotated files in
|
||||||
|
nosharedscripts mode (as stated in man page).
|
||||||
|
- Fixed setting "size" bigger than 4GB on 32bit architectures
|
||||||
|
- Do not overwrite mode set by "create" option when using ACL. "create"
|
||||||
|
directive is now not mixed up with ACLs. If you use "create" in config
|
||||||
|
file and log file has some ACLs set, ACLs are not kept and are
|
||||||
|
overwritten by the mode set in "create" directive.
|
||||||
|
- Mode argument in "create" directive can be omitted. Only owner and group
|
||||||
|
is set in this case. Check man page for more info.
|
||||||
|
- show error and ignore config if '{' is not present after log files
|
||||||
|
declaration
|
||||||
|
- support whitespaces in compressoptions directive
|
||||||
|
- support for tilde expansion in config files
|
||||||
|
- 'su' directive does not affect script execution - scripts
|
||||||
|
are executed as a root if 'su' directive is present
|
||||||
|
- fixed mail sending for 'mailfirst', 'dateext' and 'delaycompress'
|
||||||
|
combination
|
||||||
|
- do not use gzip/gunzip from /usr/local on Solaris
|
||||||
|
- add O_NOFOLLOW when opening files as safeguard against symlink tricks.
|
||||||
|
Symlinks rotation is now officially unsupported. It didn't work
|
||||||
|
as expected in the past anyway.
|
||||||
|
- do not run external programs with uid != euid
|
||||||
|
- fixed potential bad-free when ACL is used
|
||||||
|
- Do not include alloca.h on NetBSD, since alloca() is declared in
|
||||||
|
stdlib.h there
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Apr 16 08:23:18 UTC 2013 - mmeister@suse.com
|
Tue Apr 16 08:23:18 UTC 2013 - mmeister@suse.com
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
Url: https://fedorahosted.org/releases/l/o/logrotate
|
Url: https://fedorahosted.org/releases/l/o/logrotate
|
||||||
|
|
||||||
Name: logrotate
|
Name: logrotate
|
||||||
Version: 3.8.1
|
Version: 3.8.5
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Rotate, compress, remove, and mail system log files
|
Summary: Rotate, compress, remove, and mail system log files
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
@ -31,8 +31,6 @@ Patch1: logrotate-3.7.8-conf.patch
|
|||||||
Patch2: logrotate-3.7.8-autoext.patch
|
Patch2: logrotate-3.7.8-autoext.patch
|
||||||
Patch3: logrotate-3.7.8-addextension.patch
|
Patch3: logrotate-3.7.8-addextension.patch
|
||||||
Patch4: logrotate-3.7.8-mess_err.patch
|
Patch4: logrotate-3.7.8-mess_err.patch
|
||||||
# PATCH-FIX-UPSTREAM allow separated compressoptions (bnc#711780)
|
|
||||||
Patch8: logrotate-3.7.9-compressoptions.patch
|
|
||||||
BuildRequires: libselinux-devel
|
BuildRequires: libselinux-devel
|
||||||
BuildRequires: popt-devel
|
BuildRequires: popt-devel
|
||||||
PreReq: %fillup_prereq
|
PreReq: %fillup_prereq
|
||||||
@ -57,7 +55,6 @@ daily cron job.
|
|||||||
%patch2
|
%patch2
|
||||||
%patch3
|
%patch3
|
||||||
%patch4
|
%patch4
|
||||||
%patch8 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
make %{?_smp_mflags} CC="%__cc" RPM_OPT_FLAGS="%{optflags}" WITH_SELINUX=yes
|
make %{?_smp_mflags} CC="%__cc" RPM_OPT_FLAGS="%{optflags}" WITH_SELINUX=yes
|
||||||
|
Loading…
x
Reference in New Issue
Block a user