Skip to content

Feat/el10#5

Open
msotnikov wants to merge 9 commits into
philyuchkoff:mainfrom
msotnikov:feat/el10
Open

Feat/el10#5
msotnikov wants to merge 9 commits into
philyuchkoff:mainfrom
msotnikov:feat/el10

Conversation

@msotnikov
Copy link
Copy Markdown

  • added || 0%{?el10} to BuildRequires, %install, %post, %preun, %postun, and %files.
  • included %{__install} -d .../lib/%{name} and %dir .../lib/%{name}, which fixes the Cannot chroot alert.
  • switch between pcre2-devel (for EL8/9/10) and pcre-devel (for older versions).
  • removed the -s flag from the install command, allowing standard debuginfo generation.
  • removed the obsolete USE_SYSTEMD and USE_REGPARM flags.
  • fixed Amazon Linux 2023 Support
  • syslog configuration logic is consistent across all systems

@philyuchkoff
Copy link
Copy Markdown
Owner

Привет!
Прошу прощения, только что заметил твой PR :)
Посмотрю на выходных подробнее, напишу.

@msotnikov
Copy link
Copy Markdown
Author

@philyuchkoff kindly reminder — could you review this PR when you have a moment? 🙏

@philyuchkoff
Copy link
Copy Markdown
Owner

Привет!
Прости, что так долго, работа :)
Есть несколько замечаний:

1. Makefile - PCRE для Amazon Linux 2023

  RHEL_VER := $(shell rpm -E %{rhel} 2>/dev/null)
  ifeq ($(shell [ -n "$(RHEL_VER)" ] && [ "$(RHEL_VER)" -ge 8 ] 2>/dev/null && echo 1 || echo 0),1)
      BASE_DEPS += pcre2-devel
  else
      BASE_DEPS += pcre-devel
  endif

Для Amazon Linux 2023 переменная %{rhel} пустая, поэтому будет выбран pcre-devel, хотя AMZN2023 использует pcre2-devel.

Можно так:

  ifeq ($(filter "%dist"), ".el8" ".el9" ".el10" ".amzn2023")
      BASE_DEPS += pcre2-devel
  else
      BASE_DEPS += pcre-devel
  endif

Можно использовать %{dist} вместо %{rhel} или добавить явную проверку для amzn2023.

2. haproxy.cfg - ломающие изменения

  - log 127.0.0.1 local0 → log 127.0.0.1 local2
  - stats socket /run/haproxy/haproxy.sock → /run/haproxy.sock

При обновлении существующей установки это сломает существующие syslog конфиги (они ждут local0) и скрипты мониторинга (если используют старый путь).

Модно оставить backwards-compatible пути или отметить в changelog как breaking change с инструкциями по миграции. Но лучше не ломать :)

3. дублирование BuildRequires для systemd

  +# Systemd dependencies for EL7+ (including EL10)
  +%if 0%{?el7} || 0%{?amzn2} || 0%{?el8} || 0%{?el9} || 0%{?el10} || 0%{?amzn2023}
  +BuildRequires:      systemd
   Requires(post):     systemd
   Requires(preun):    systemd
   Requires(postun):   systemd

systemd уже был в BASE_DEPS через rpm-build или явным указанием. Дублирование не критично, но лишнее.

4. много restart rsyslog.service

Перезапуск происходит трижды (%post, %postun), достаточно одного раза, можно оставить только где критично (например после добавления нового конфига (%post)).

  +%post
  +%if ...
  +    systemctl reload-or-try-restart rsyslog.service
  +%endif

Отличные изменения, спасибо за них:

  1. убран -s flag для debuginfo
  2. добавлено %dir .../lib/%{name} для chroot (исправляет баг)
  3. удален дубликат установки бинарника (было дважды)
  4. убраны устаревшие USE_REGPARM, USE_SYSTEMD флаги
  5. сделана унификация syslog конфигов
  6. SELinux пример в README полезен, не так в лоб, как у меня :)

Если я вмерджу этот PR, то обновление с текущей версии потребует правки syslog конфигов.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants