Bug 39115

Summary: a2chkconfig выполняется при операции с любым пакетом: невозможно использовать a2enmod/a2dismod
Product: Sisyphus Reporter: Vitaly Lipatov <lav>
Component: apache2-mod_php7Assignee: Anton Farygin <rider>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P4 CC: rider
Version: unstable   
Hardware: x86_64   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=11333

Description Vitaly Lipatov 2020-10-23 00:28:22 MSK
Столкнулся с нелепой ситуацией, когда выключенные с помощью a2dismod модули включаются обратно после установки/удаления _любого_ пакета.

Это связано с
# cat /etc/httpd2/conf/extra-start.d/000-default.conf 
httpd-default=yes
httpd-mpm=yes
httpd-multilang-errordoc=yes
httpd-languages=yes
httpd-icons=yes
httpd-autoindex=yes
httpd-mime=yes

настройки из которого применяются командой a2chkconfig.

На Сизифе в hasher после установки apache2-mod_php7 проблема отлично воспроизводится:
apache2-mod_php7-7.4.11-alt1.2.x86_64
В p9 тоже:
apache2-mod_php7-7.3.23-alt1.x86_64

Зачем-то 10 лет назад запуск a2chkconfig вписан в /usr/lib/rpm/apache2-mod_php7.filetrigger:

apache2-mod_php7.spec:
06f8b942        (Sergey Kurakin 2010-02-11 19:41:35 +0300       91)cat > %buildroot/%_rpmlibdir/%name.filetrigger << EOF
06f8b942        (Sergey Kurakin 2010-02-11 19:41:35 +0300       92)#!/bin/sh
06f8b942        (Sergey Kurakin 2010-02-11 19:41:35 +0300       93)%apache2_sbindir/a2chkconfig >/dev/null


И он выполняется при _каждой_ установке/удалении любого пакета!
Comment 1 Vitaly Lipatov 2020-10-23 00:37:50 MSK
Поведение, при которой a2enmod/a2dismod бессмысленно использовать, описано в
man 8 a2chkconfig:
WARNING
       If you've enable or disable the part of configuration with utilites a2en*/a2dis* and forgot to add corresponding line to config in directory conf/*-start.d the configuration will be rewriting after next run a2chkconfig. You have to know that
       utility a2chkconfig will automatic while you upgrade apache2 or install  something apache2 corresponding (modules or smth else).

       The right way to enable or disable the part of configuration is to modify line in corresponding file in conf/*-start.d/ and then run a2chkconfig utitlity.

Это чем-то похоже на некоторые пакеты, в который спек собирается из частей запуском специального скрипта.
Comment 2 Anton Farygin 2020-10-23 08:49:19 MSK
Да, это наследие предыдущего ментейнера, я не откажусь от помощи в переработке пакета apache так, что бы им было удобнее пользоваться.
Comment 3 Anton Farygin 2020-10-29 19:27:06 MSK
убрал из apache2-mod_php7 a2chkconfig. Но состояние модулей всё равно сбрасывается на дефолт, на этот раз из-за файлтриггера в самом apache2, который в случае установки каких-то модулей сразу запускает a2chkconfig.
Comment 4 Anton Farygin 2020-11-03 15:59:19 MSK
Исправлено в 7.4.12-alt1