Bug 30692

Summary: слишком жадный include в logrotate.conf
Product: Sisyphus Reporter: Sergey Alembekov <rt>
Component: logrotateAssignee: Alexey Gladkov <legion>
Status: NEW --- QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P3 CC: asy, evg, ldv, legion, viy
Version: unstable   
Hardware: all   
OS: Linux   

Description Sergey Alembekov 2015-01-30 14:13:59 MSK
В /etc/logrotate.conf  есть строка "include /etc/logrotate.d" Проблема в том, что при такой конфигурации в include попадают и /etc/logrotate.d/nginx и /etc/logrotate.d/nginx~ (vim такое любит делать) и /etc/logrotate.d/nginx.rpmnew (это если мы поправили правила под себя, а потом обновили пакет)
Кажется, что правильным было бы делать include /etc/logrotate.d/*.conf и ввести полиси на название файлов
Comment 1 Sergey Alembekov 2015-01-30 14:16:08 MSK
Извиняюсь. надо было на Сизиф повесить.
Comment 2 Evgenii Terechkov 2015-01-31 20:01:10 MSK
logrotate.conf(8):
===========================================================
include file_or_directory
       Reads the file given as an argument as if it was included
       inline where the include directive appears. If a direc‐ tory is
       given, most of the files in that directory are read in
       alphabetic order before processing of the including file
       continues. The only files which are ignored are files which are
       not regular files (such as directories and named pipes) and
       files whose names end with one of the taboo extensions, as
       specified by the tabooext directive.
...
tabooext [+] list
       The current taboo extension list is changed (see the include
       directive for information on the taboo extensions). If a +
       precedes the list of extensions, the current taboo extension
       list is augmented, otherwise it is replaced. At startup, the
       taboo extension list contains .rpmsave, .rpmorig, ~, .disabled,
       .dpkg-old, .dpkg-dist, .dpkg-new, .cfsaved, .ucf-old,
       .ucf-dist, .ucf-new, .rpmnew, .swp, .cfsaved, .rhn-cfg-tmp-*
===========================================================

logrotate-3.7.9-alt-taboo.patch:
===========================================================
 static char *defTabooExts[] = { ".rpmsave", ".rpmorig", "~", ",v",
     ".disabled", ".dpkg-old", ".dpkg-dist", ".dpkg-new", ".cfsaved",
-    ".ucf-old", ".ucf-dist", ".ucf-new",
+    ".ucf-old", ".ucf-dist", ".ucf-new", ".gz", ".bz2", ".xz", ".#",
     ".rpmnew", ".swp", ".cfsaved", ".rhn-cfg-tmp-*"
 };
===========================================================

NOTABUG?
Comment 3 Dmitry V. Levin 2015-01-31 22:18:17 MSK
(In reply to comment #0)
> Кажется, что правильным было бы делать include /etc/logrotate.d/*.conf и ввести
> полиси на название файлов

Было бы правильнее, в других .d так сделано, но при этом несколько лет ушло на миграцию того же modprobe.d на *.conf; с logrotate.d картина такая:
sed -n 's|^/etc/logrotate\.d/\([^[:space:]]\+\).*|\1|p' -- Sisyphus/{noarch,x86_64}/base/contents_index |grep -vc '\.conf$'
149

Можно поставить какую-нибудь реалистичную цель, например, внедрить к p8 полиси "только *.conf". :)
Comment 4 Sergey Y. Afonin 2015-12-13 13:42:57 MSK
(In reply to comment #3)

> Можно поставить какую-нибудь реалистичную цель, например, внедрить к p8 полиси
> "только *.conf". :)

А репокоп, вроде бы, умеет патчи делать ? Или, хотябы, проверку.
Comment 5 viy 2015-12-14 23:21:32 MSK
(В ответ на комментарий №4)
> (In reply to comment #3)
> 
> > Можно поставить какую-нибудь реалистичную цель, например, внедрить к p8 полиси
> > "только *.conf". :)
> 
> А репокоп, вроде бы, умеет патчи делать ? Или, хотябы, проверку.

проверку, конечно, умеет. Сделайте, пожалуйста, хоть какую-то страничку
в идеале "logrotate policy draft" чтобы сообщению от репокопа было куда ссылаться,
а я напишу тест.