Bug 39627

Summary: [4.2] join kaf@
Product: Team Accounts Reporter: ALexey Kostarev <kaf>
Component: joinAssignee: Gleb F-Malinovskiy <glebfm>
Status: ASSIGNED --- QA Contact: Andrey Cherepanov <cas>
Severity: normal    
Priority: P5 CC: arseny, darktemplaralt, glebfm, grenka, ldv, mike, obirvalger, rider, shaba
Version: unspecified   
Hardware: x86_64   
OS: Linux   
URL: https://www.altlinux.org/Team/Join/Secretary
Attachments:
Description Flags
SSH-ключ
none
GPG Key
none
Новый GPG-ключ для E-mall kaf@altlinux.org
none
Новый ssh-ключ
none
Подписанный новый ssh-ключ none

Description ALexey Kostarev 2021-01-30 17:42:29 MSK
Created attachment 9166 [details]
SSH-ключ

Алексей Костарев
E-mail: kaf@nevod.ru
Ментор: Алексей Шабалин shaba@basealt.ru

Направление разработок: Контейнерная виртуализация
Начальные цели - приобрести опыт в сборке пакетов
В частности как любитель базы ClickHouse было бы интересно собрать пакет для него
До настоящего времени занимаюсь поддержкой docker-образа flexberry/clickhouse-official https://hub.docker.com/r/flexberry/clickhouse-official
Comment 1 ALexey Kostarev 2021-01-30 17:43:15 MSK
Created attachment 9167 [details]
GPG Key
Comment 2 Alexey Shabalin 2021-01-30 18:27:22 MSK
Принял. Готовлю тестовое задание.
Comment 3 Gleb F-Malinovskiy 2021-02-01 15:01:00 MSK
(Ответ для Alexey Shabalin на комментарий #2)
> Принял. Готовлю тестовое задание.
(Ответ для ALexey Kostarev на комментарий #0)
> Создано вложение 9166 [details] [подробности]
> SSH-ключ
(Ответ для ALexey Kostarev на комментарий #1)
> Создано вложение 9167 [details] [подробности]
> GPG Key

Ok.
Comment 4 Alexey Shabalin 2021-02-03 02:48:08 MSK
Прошу создать учетную запись на git.altlinux.org и предоставить возможность тестовой сборки на сборочном сервере.
Comment 5 Alexey Shabalin 2021-02-03 19:16:16 MSK
Предлагаю переделать gpg ключ.
Если устраивает логин kaf, то в gpg ключе укажите email kaf@altlinux.org.
В описании ключа упоминать сторонний email kaf@nevod.ru совсем лишнее.
Оставьте только "Alexey Kostarev".
Для ключа можно добавить дополнительные email.

PS: ssh ключ можно не переделывать, там комментарий не существенный, при добавлении на сервер его все равно поправят, я так думаю.
Comment 6 ALexey Kostarev 2021-02-03 21:49:35 MSK
Created attachment 9177 [details]
Новый GPG-ключ  для E-mall kaf@altlinux.org
Comment 7 Gleb F-Malinovskiy 2021-02-08 18:24:39 MSK
ssh ключ на gitery.alt зарегистрирован.
ssh ключ на gyle.alt зарегистрирован.
Адрес для пересылки создан.

T/J/S -> 2.4.
Comment 8 ALexey Kostarev 2021-02-10 18:28:27 MSK
Created attachment 9191 [details]
Новый ssh-ключ

Коллеги к сожалению я запятовал свой пароль к ssh-ключу
Есть ли возможность заменить открытый ключ на приложенный?
Comment 9 ALexey Kostarev 2021-02-16 16:25:14 MSK
Created attachment 9198 [details]
Подписанный новый ssh-ключ
Comment 10 Gleb F-Malinovskiy 2021-02-16 17:31:16 MSK
(Ответ для ALexey Kostarev на комментарий #8)
> Создано вложение 9191 [details] [подробности]
> Новый ssh-ключ
> 
> Коллеги к сожалению я запятовал свой пароль к ssh-ключу
> Есть ли возможность заменить открытый ключ на приложенный?
(Ответ для ALexey Kostarev на комментарий #9)
> Создано вложение 9198 [details] [подробности]
> Подписанный новый ssh-ключ

Да, так можно предположить, что этот ssh-ключ и gpg-ключ чуть выше сделал один и тот же человек. :)
Ключи на серверах обновил, проверяйте.
Comment 11 Alexey Shabalin 2021-02-19 01:42:17 MSK
Прошу добавить gpg ключ на сборочницу для сборки тестовых заданий.
Comment 12 Michael Shigorin 2021-02-20 00:51:01 MSK
(Ответ для ALexey Kostarev на комментарий #0)
> как любитель базы ClickHouse было бы интересно собрать пакет для него

Этот? :)

http://packages.altlinux.org/clickhouse
Comment 13 ALexey Kostarev 2021-02-20 13:54:28 MSK
Да спасибо - я его уже обнаружил и попытался собрать у себя

Но сходу не получилось

Версия там довольно старая - 20.3

Мне же сейчас нужна 20.12 или 21.2 - там есть поддержка Postgers Wire Protocol

Я пока поступаю проще - собираю свежий docker-образ на основе стандартного, добавляя необходимые мне плюшечки - возможность описания при запуске списка импортируемых таблиц из БД postgres

https://github.com/Flexberry/dockerfiles/tree/master/clickhouse/official

При навешивании тега на hub.docker.com срабатывает пересборка образа
https://hub.docker.com/r/flexberry/clickhouse-official
Comment 14 ALexey Kostarev 2021-02-20 13:56:52 MSK
Да коллеги мой gpg-ключ еще не попал в gyle?
Остались еще какие-либо проблемы?

Хотелось бы получить подарок на 23 февраля.


Ставлю в очередь task на gyle:
$ ssh gyle task add repo haproxy 2.3.5-alt1
gpg: Signature made Fri Feb 19 13:28:46 2021 UTC
gpg:                using RSA key 0x0DD3B4F9127CA906
gpg: Can't check signature: public key not found
task add: 2.3.5-alt1: tag signature verification failure
Comment 15 Dmitry V. Levin 2021-02-20 17:35:39 MSK
(In reply to Alexey Shabalin from comment #11)
> Прошу добавить gpg ключ на сборочницу для сборки тестовых заданий.

T/J/S -> 3.0.
Comment 16 Gleb F-Malinovskiy 2021-03-05 14:06:01 MSK
Пакет alt-gpgkeys обновлён.

T/J/S -> 3.4.
Comment 17 Alexey Shabalin 2021-04-15 14:45:33 MSK
Кандидат уже успешно собрал пару простых заданий (обновление существующих пакетов с помощью srpm и gear). Я их пропустил в сизиф.

Заключительное задание на сборку нового пакета.
Приглашаю к review #269308.

Из моих замечаний:
- временные файлы patroni.spec~ в репо
- patroni.init надо адаптировать на основе альтовых шаблонов
- patroni.service в таком виде не нужен, он вызывает patroni.init
  В service файле лучше использовать что-то типа
Type=simple
User=postgres
Group=postgres
EnvironmentFile=/etc/sysconfig/patroni
ExecStart=/usr/bin/patroni /etc/patroni/config.yml
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=process

- вместо %_sysconfdir/%{name}_env.conf надо использовать %_sysconfdir/sysconfig/%name
- в config.yml 
  log_filename: 'postgresql-2.0.1-ALT.log'
  Точно логи должны привязываться к версии?
  тоже самое про scope: "2.0.1-ALT"
- отсутствуют настройки для log rotation

К python3-module-pysyncobj и python3-module-ydiff у меня претензий нет.
Comment 18 Andrew Vasilyev 2021-04-15 18:28:38 MSK
(Ответ для Alexey Shabalin на комментарий #17)
> - вместо %_sysconfdir/%{name}_env.conf надо использовать
> %_sysconfdir/sysconfig/%name

  А почему не %_sysconfigdir/%name ?
Comment 19 Michael Shigorin 2021-04-15 18:40:52 MSK
(Ответ для Alexey Shabalin на комментарий #17)
> - patroni.init надо адаптировать на основе альтовых шаблонов
По этой части могу попробовать содействовать в качестве со-ментора.
Comment 20 ALexey Kostarev 2021-04-16 07:36:45 MSK
(Ответ для Andrew Vasilyev на комментарий #18)
> (Ответ для Alexey Shabalin на комментарий #17)
> > - вместо %_sysconfdir/%{name}_env.conf надо использовать
> > %_sysconfdir/sysconfig/%name
> 
>   А почему не %_sysconfigdir/%name ?

Исходя из того, что 
$_sysconfdir  = /etc
Алексей Шабалин прав
 %_sysconfdir/sysconfig/%name
Comment 21 ALexey Kostarev 2021-04-16 09:51:29 MSK
(Ответ для Alexey Shabalin на комментарий #17)

> - patroni.init надо адаптировать на основе альтовых шаблонов

Добрый день, коллеги
У меня вопрос по зависимостям

Во время запуска patroni должен существовать пользователь postgres
и одна из доступных версий postgres-серверов
postgresql9.5-server
postgresql9.6-server
postgresql10-server
...
postgresql13-server

Мне в зависимостях для patroni писать общее имя из Provides этих пакетов?

Там два кандидата
/usr/bin/postgres
postgresql-server

Какой предпочnительный?

И да - в этом случае я могу рассчитывает на наличие пользователя postgres при запуске init-скриптов

Кстати сейчас встал в тупик - а где в пакетах описываются и создаются пользователи в случае нербходимости?
Comment 22 ALexey Kostarev 2021-04-16 11:17:31 MSK
> - вместо %_sysconfdir/%{name}_env.conf надо использовать
> %_sysconfdir/sysconfig/%name


Да и коллеги у меня вопрос по экспорту переменных

В качестве ствртового скрипта у меня используется 
python3 модуль /usr/bin/patroni

Ему надо передать переменные среды их файла
%_sysconfdir/sysconfig/patroni

Я его читаю в /etc/init.d/patroni через
ENVFILE=/etc/sysconfig/patroni
SourceIfNotEmpty $ENVFILE

но далее привызове 
start-stop-daemon --start ... --name patroni  --user postgres --startas /bin/su - ...

Я эту среду теряю

Что делать писать дополнительный shell_скрипт для импорта среды из
/etc/sysconfig/patroni
?

Зачем тогда функция 
SourceIfNotEmpty
?
Comment 23 ALexey Kostarev 2021-04-18 12:44:27 MSK
(Ответ для Alexey Shabalin на комментарий #17)
 
> Заключительное задание на сборку нового пакета.
> Приглашаю к review #269308.
> 
> Из моих замечаний:
> - временные файлы patroni.spec~ в репо
Удалил

> - patroni.init надо адаптировать на основе альтовых шаблонов
- Перевел на: 
  start_daemon
  stop_daemon
  status
- добавил поддержку softdog/watchdog

> - patroni.service в таком виде не нужен, он вызывает patroni.init
>   В service файле лучше использовать что-то типа
> Type=simple
> User=postgres
> Group=postgres
> EnvironmentFile=/etc/sysconfig/patroni
> ExecStart=/usr/bin/patroni /etc/patroni/config.yml
> ExecReload=/bin/kill -s HUP $MAINPID
> KillMode=process
- Поменял
- Добавил поддержку softdog/watchdog

> - вместо %_sysconfdir/%{name}_env.conf надо использовать
> %_sysconfdir/sysconfig/%name
Изменил
Так как environments через su - не передаются добавил дополнительный shell-скрипт
/usr/bin/patroni.sh 
для инициализации переменных под пользователем postgres
перед вызовом python-скрипта /usr/bin/patroni

> - в config.yml 
>   log_filename: 'postgresql-2.0.1-ALT.log'
упростил до postgresql.log
>   Точно логи должны привязываться к версии?
Это наследство от пакеа в ubuntu, еде в рамках одного сервера могут запускаться несколько версий postgres

>   тоже самое про scope: "2.0.1-ALT"
Упростил до ALT

> - отсутствуют настройки для log rotation
Мне кажется не стоит использовать стандартный logrotation
так как после ротации приходится перегруэать patroni и postgres
что может привести к смене лидера HA-кластера
Так что воспоьзовался встроенной ротацией patroni и postgres
Правда в этом случае архивные логи не сжимаются что приводит к небольшому overhead по дисковому пространству

patroni:
В /etc/sysconfig/patroni добавлены настройки ротации логов:
## LogRotate tuning
export PATRONI_LOG_DIR=/var/log/patroni
export PATRONI_LOG_FILE_NUM=7
export PATRONI_LOG_FILE_SIZE=1200000

Логи, к сожалению, в patroni ротируются не по времени - только по объему
Предельный размер 1.2Mb при стандартном режиме работы (логи статуса patromi -master/slave) лог достигает примерно за сутки
Так что при обычном режиме работы логи будут храниться в недельном промежутке

postgres:
В /etc/patroni/config.yml добавлена неделная ротация ежедневных  логов:
    logging_collector: 'on'
    log_directory: '/var/log/patroni'
    log_filename: 'postgresql_%a.log'
    log_truncate_on_rotation: 'on'
    log_rotation_age: 1440
Comment 24 Michael Shigorin 2021-04-18 19:10:47 MSK
(Ответ для Andrew Vasilyev на комментарий #18)
> > %_sysconfdir/sysconfig/%name
> А почему не %_sysconfigdir/%name ?
Похоже, это достаточно свежий макрос -- я бы пока не закладывался.

(Ответ для ALexey Kostarev на комментарий #21)
> Мне в зависимостях для patroni писать общее имя из Provides этих пакетов?
> Там два кандидата
> /usr/bin/postgres
> postgresql-server
> Какой предпочnительный?

Я бы определённо ставил зависимость на postgresql-server (полагаю, она и сама ясней, и более чётко коррелирует с именами именно серверных пакетов).

> И да - в этом случае я могу рассчитывает на наличие пользователя postgres
> при запуске init-скриптов

Да; конкретно postgres:46 у нас вообще в пакете setup определён.

> Кстати сейчас встал в тупик - а где в пакетах описываются и создаются
> пользователи в случае нербходимости?
См. http://altlinux.org/Pseudo_User_Policy (важно не _удалять_ пользователей).

(Ответ для ALexey Kostarev на комментарий #22)
> Я его читаю в /etc/init.d/patroni через
> ENVFILE=/etc/sysconfig/patroni
> SourceIfNotEmpty $ENVFILE
Если $ENVFILE больше нигде не используется -- я бы упростил до
SourceIfNotEmpty /etc/sysconfig/patroni

> Зачем тогда функция 
> SourceIfNotEmpty
> ?
Чтобы проверить наличие и непустоту файлика, который предлагается зачитать:

---
SourceIfNotEmpty()
{
        local f
        f="$1"
        shift
        [ -s "$f" ] && . "$f" "$@"
}
--- /etc/init.d/functions

(Ответ для ALexey Kostarev на комментарий #23)
> Так как environments через su - не передаются добавил дополнительный
> shell-скрипт
> /usr/bin/patroni.sh 
> для инициализации переменных под пользователем postgres
> перед вызовом python-скрипта /usr/bin/patroni
"Передай patroni" ;-)
Comment 25 ALexey Kostarev 2021-04-20 09:44:13 MSK
(Ответ для Michael Shigorin на комментарий #24)
> (Ответ для Andrew Vasilyev на комментарий #18)
> > > %_sysconfdir/sysconfig/%name
> > А почему не %_sysconfigdir/%name ?
> Похоже, это достаточно свежий макрос -- я бы пока не закладывался.
Да - не сначала не заметил разницы в написании
В настоящий момент %_sysconfigdir нет в
https://www.altlinux.org/Spec/%D0%9F%D1%80%D0%B5%D0%B4%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D1%8B 

> 
> (Ответ для ALexey Kostarev на комментарий #21)
> > Мне в зависимостях для patroni писать общее имя из Provides этих пакетов?
> > Там два кандидата
> > /usr/bin/postgres
> > postgresql-server
> > Какой предпочnительный?
> 
> Я бы определённо ставил зависимость на postgresql-server (полагаю, она и
> сама ясней, и более чётко коррелирует с именами именно серверных пакетов).
> 
OK
Добавил в 
http://git.altlinux.org/people/kaf/packages/?p=patroni.git;a=blob;f=.gear/patroni.spec;h=2bfecaaba9e61e7b6371efa7585ff87bd499f69a;hb=HEAD

> > И да - в этом случае я могу рассчитывает на наличие пользователя postgres
> > при запуске init-скриптов
> 
> Да; конкретно postgres:46 у нас вообще в пакете setup определён.
> 
> > Кстати сейчас встал в тупик - а где в пакетах описываются и создаются
> > пользователи в случае нербходимости?
> См. http://altlinux.org/Pseudo_User_Policy (важно не _удалять_
> пользователей).
В моей ситуации так как patroni зависит от postgres-server пользователь postgres уже будет создан при установке postgres-server

> 
> (Ответ для ALexey Kostarev на комментарий #22)
> > Я его читаю в /etc/init.d/patroni через
> > ENVFILE=/etc/sysconfig/patroni
> > SourceIfNotEmpty $ENVFILE
> Если $ENVFILE больше нигде не используется -- я бы упростил до
> SourceIfNotEmpty /etc/sysconfig/patroni
> 
> > Зачем тогда функция 
> > SourceIfNotEmpty
> > ?
> Чтобы проверить наличие и непустоту файлика, который предлагается зачитать:
> 
> ---
> SourceIfNotEmpty()
> {
>         local f
>         f="$1"
>         shift
>         [ -s "$f" ] && . "$f" "$@"
> }
> --- /etc/init.d/functions
Да этоя просиотрел, правда не знал что в операиях
. <shell-scriop>
можно передавать параметры ($@)

> 
> (Ответ для ALexey Kostarev на комментарий #23)
> > Так как environments через su - не передаются добавил дополнительный
> > shell-скрипт
> > /usr/bin/patroni.sh 
> > для инициализации переменных под пользователем postgres
> > перед вызовом python-скрипта /usr/bin/patroni
> "Передай patroni" ;-)
Так и сделал

Испрововал несколько вариаентов

- использвоания python-модуля импортирующего shell ENV-файл в sys.environment python-скрипта 
  - надо создавать этот модуль в Sisiyphus

- смена типа скрипта /usr/bin/patrony с python3 на ырудд
#!/bin/sh
. /etc/sysconfog/patroni
exec /usr/bin/python3 <<EOF
...
EOF

  - patroni некорректно формируем имя стартового скрипта (добавляет <stdin> в имя) и сваливается

- добавление shell-скрипта /usr/bin/patroni.sh в котором после инициализации вызывается python скрипт /usr/bin/patroni

В итоге остановился на последнем варианте...
Comment 26 ALexey Kostarev 2021-04-20 09:44:44 MSK
Коллеги - жду вердикта...
Comment 27 Alexey Shabalin 2021-08-17 18:25:35 MSK
Прошу перевести на следующий уровень.
Только я уже не пойму, какой это, 4.1?
Мое решение - кандидат готов для вступления в team.
Жду подтверждения от второго ментора.
Comment 28 Gleb F-Malinovskiy 2021-09-02 15:12:34 MSK
Призван ещё один человек (darktemplar@) для независимой оценки готовности кандидата.

T/J/S -> 4.2.
Comment 29 Aleksei Nikiforov 2021-09-03 13:49:33 MSK
Предложения и рекомендации:

1) http://git.altlinux.org/people/kaf/packages/?p=bootupd.git;a=commitdiff;h=d0453c70238fc8395cf5fc140e2ee4cd52503758

Советую использовать конструкцию "%define _unpackaged_files_terminate_build 1". 

Будет полезно если после обновления будут устанавливаться новые файлы. В таком случае это станет ошибкой, а не предупреждением.

Также, по совету ldv@, стоит по возможности использовать "%define _stripped_files_terminate_build 1" и "%set_verify_elf_method strict".

2) http://git.altlinux.org/people/kaf/packages/?p=bootupd.git;a=commitdiff;h=d0453c70238fc8395cf5fc140e2ee4cd52503758

Packager: Alexey Kostarev <kaf@altlinux.org>

Я считаю, что явно это указывать не нужно, поскольку при сборке пакета это поле заполняется автоматически.

3) http://git.altlinux.org/people/kaf/packages/?p=butane.git;a=commitdiff;h=1436e45c9ac35b6b163b937a90cdbca00bf57139

License: Apache License 2.0

По возможности лучше указывать лицензию так, как они называются в /usr/share/license. Об этом даже есть предупреждение при сборке пакета.
Для этой цели может быть полезна утилита nomossa из пакета fossology-nomos, которая должна быть доступна в Сизифе и p10.

4) http://git.altlinux.org/people/kaf/packages/?p=patroni.git;a=commitdiff;h=b52bb4b4ae90a4433d00887d3e75ff870bfbe368

%python3_sitelibdir/%name/
%python3_sitelibdir/*egg-info

Возможно лучше будет вынести эти файлы в отдельный пакет python3-module-%name: если у какого-то другого питоновского пакета появится зависимость на этот модуль питона, то он вытянет весь этот пакет. Или в таком случае нужно будет в том числе и всё что за пределами %python3_sitelibdir в данном пакете есть?

5) http://git.altlinux.org/people/kaf/packages/?p=patroni.git;a=commitdiff;h=b52bb4b4ae90a4433d00887d3e75ff870bfbe368

Странная комбинация .gear/rules и .gear/tags.

В .gear/rules:
tar: .
spec: .gear/patroni.spec
copy: .gear/*.yml
copy: .gear/*.init
copy: .gear/*.service
copy: .gear/*.sh
copy: .gear/*.py
copy: .gear/*.conf

Почти все файлы в директории .gear копируются дважды - в общий архив tar, и ещё раз отдельно.

А в одном из следующих коммитов

http://git.altlinux.org/people/kaf/packages/?p=patroni.git;a=commitdiff;h=aa332fd9afda892e5f1c8315e27af44993c6de11

добавляется тэг 2.0.1-alt1, который при этом, что не удивительно, не соответствует тэгу, находящемуся в репозитории. И конечно же, он никак не используется при сборке, т.е. не нужен.

Я считаю, что это стоит переделать: брать исходники из апстримного тэга вместо просто "tar: .", тогда не будет дублирования файлов, и заодно этот апстримный тэг сохранить в .gear/tags, и убрать оттуда находящийся там сейчас ненужный тэг.


Вопросы:

1) http://git.altlinux.org/people/kaf/packages/?p=butane.git;a=commitdiff;h=1436e45c9ac35b6b163b937a90cdbca00bf57139

BuildArch: x86_64

В связи с чем указаны такие строгие ограничения по архитектуре?

Насколько мне известно, для пакетов на golang обычно используется следующая конструкция:

ExclusiveArch: %go_arches
BuildRequires(pre): rpm-build-golang

2) http://git.altlinux.org/people/kaf/packages/?p=butane.git;a=summary

Здесь сначала идёт коммит, в котором добавляется почти весь spec-файл, затем merge с апстримным репозиторием, и затем добавляется запись в changelog. Почему сделано так? Почему нельзя было сделать просто 1 коммит поверх соответствующего тэга из апстрима?

В пакетах patroni, python3-module-pysyncobj и python3-module-ydiff обнаружил тоже самое.

3) http://git.altlinux.org/people/kaf/packages/?p=bootupd.git;a=commitdiff;h=d0453c70238fc8395cf5fc140e2ee4cd52503758

Чем не подходят макросы %rust_build / %rust_install / %rust_test из пакета rpm-macros-rust ?

4) http://git.altlinux.org/people/kaf/packages/?p=bootupd.git;a=commitdiff;h=d0453c70238fc8395cf5fc140e2ee4cd52503758

ExclusiveArch: x86_64 aarch64

А здесь почему выбрано такое ограничение на архитектуры? И в других пакетах на rust тоже такой вопрос. Насколько я знаю, rust доступен на большем количестве архитектур чем указано здесь. Для всех ли пакетов нужно такое строгое ограничение архитектур?

5) http://git.altlinux.org/people/kaf/packages/?p=patroni.git;a=commitdiff;h=b52bb4b4ae90a4433d00887d3e75ff870bfbe368

Скрипты patroni.py, patroni_aws.py, patroni_wale_restore.py, patronictl.py

Нельзя ли их при сборке генерировать? Выглядят они однообразно и сгенерированными. Если это генерируемые файлы, то лучше их генерировать при сборке пакета, если такая возможность есть.


Замечания:

1) git.altlinux.org/people/kaf/packages/?p=butane.git;a=commitdiff;h=1436e45c9ac35b6b163b937a90cdbca00bf57139

%pre / %post / %preun

Не стоит захламлять спек-файл пустыми секциями %pre / %post / %preun. Лучше их удалить. Если же они не должны быть пустыми, это надо поправить.

2) http://git.altlinux.org/people/kaf/packages/?p=coreos-installer.git;a=commitdiff;h=c5414e155e84508f88b1f7c08203d9cd3353fd17

Согласно https://www.altlinux.org/Spec#%description длина строк в поле %description не должна превышать 72 символа.

3) http://git.altlinux.org/people/kaf/packages/?p=patroni.git;a=commitdiff;h=b52bb4b4ae90a4433d00887d3e75ff870bfbe368

Пустая секция %pre.

4) http://git.altlinux.org/people/kaf/packages/?p=python3-module-prettytable.git;a=summary

Пакет явно не закончен, смотреть не на что.

5) В следующих пакетах неправильно указана лицензия в spec-файле:

http://git.altlinux.org/people/kaf/packages/?p=patroni.git;a=summary - в спеке указано GPLv2+, в репозитории - MIT
http://git.altlinux.org/people/kaf/packages/?p=python3-module-ydiff.git;a=summary - в спеке указано MIT, в репозитории - BSD-3-Clause

6) http://git.altlinux.org/people/kaf/packages/?p=zincati.git;a=commitdiff;h=e755cc4a5a531e9363e1afbd39d339d9f0e4519e

В директории .gear находится много файлов, которые при сборке и упаковке, похоже, не используются. Если они не нужны, то стоит их удалить.

7) http://git.altlinux.org/people/kaf/packages/?p=zincati.git;a=commitdiff;h=e755cc4a5a531e9363e1afbd39d339d9f0e4519e

%define zincati_user    zincati
%define zincati_group   zincati

...

%pre
if getent passwd zincati 
then
    userdel zincati
fi
if getent group zincati 
then
    groupdel zincati
fi
%_sbindir/useradd -c 'Zincati user for auto-updates' %name

Согласно https://www.altlinux.org/Pseudo_User_Policy, имена псевдопользователей и групп следует начинать с символа "_". Также там указаны рекомендуемые конструкции для создания таких пользователей и групп.

Хотя в пакете patroni пользователь и группа указаны без данного символа, там, насколько я понимаю, они должны быть указаны как в другом пакете, а для новых пользователей и групп лучше ей следовать.

8) http://git.altlinux.org/people/kaf/packages/?p=zincati.git;a=commitdiff;h=e755cc4a5a531e9363e1afbd39d339d9f0e4519e

%define zincati_confdir3 /run/%name/config.d/
%define zincati_metrics_public_dir /run/zincati/public
%define zincati_metrics_private_dir /run/zincati/private
%define zincati_run_rpm_ostree /run/rpm-ostree/
%define zincati_run_ostree /run/ostree/

...

%files
...
%zincati_confdir3
%attr(-,zincati,zincati) %zincati_metrics_public_dir
%attr(-,zincati,zincati) %zincati_metrics_private_dir
%attr(-,zincati,zincati) %zincati_run_rpm_ostree
%attr(-,zincati,zincati) %zincati_run_ostree

Обычно /run является примонтированным tmpfs, всё её содержимое после перезагрузки пропадает. А это значит, что ничего туда упаковывать в пакеты нельзя, а если там всё-таки что-то нужно, и приложение там это само не создаёт, для создания стоит использовать tmpfiles.d:

https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html

Эту часть, похоже, поправили пока я смотрел. Но этот пункт всё равно оставлю.


Есть замечания, над которыми, я считаю, стоит поработать. Плюс пакеты zincati и patroni выглядят так, словно вступающий недостаточно освоился с .gear/rules и .gear/tags, поскольку везде используется конструкция "tar: ." даже если рядом ещё какие-то файлы копируются отдельно ещё раз, а в .gear/tags зачем-то добавляется неиспользуемый тэг, с именем, которое конфликтует с находящимся в репозитории тэгом.
Comment 30 Alexey Shabalin 2021-11-02 16:32:06 MSK
kaf@ исправлены ли недостатки?
Comment 31 Arseny Maslennikov 2023-10-18 18:41:16 MSK
2 года нет движения. Неужели RESOLVED/TIMEOUT?
Comment 32 Gleb F-Malinovskiy 2023-11-08 13:31:13 MSK
Актуально ли ещё?
Comment 33 Gleb F-Malinovskiy 2023-12-07 23:31:19 MSK
Переоткройте, если будет актуально.
Comment 34 ALexey Kostarev 2023-12-20 20:34:37 MSK
Доброго времени суток коллеги
Прошу прощения за остановку работ по моему JOIN 
В начале года я потерял доступ к почте kaf@nevod.ru по которой был зарегистрирован 
Кроме этого в начале года плотно занялся созданием набора пакетов podsec (podman security) для поддержки защиты policy в решениях podman, kubernetes и мониторинга нарушений защиты:
 https://git.altlinux.org/people/kaf/packages/?p=podsec.git
на основе собственного git-проекта 
https://github.com/kafnevod/podsec
https://github.com/alt-cloud/podsec

Кроме этого реализовал в рамках этого пакета rootless kubernetes
https://www.altlinux.org/Rootless_kubernetes

Эти пакеты включены в дистрибутив c10f1 и планируется включение последней версии  пакета 1.0.10 очередной релиз c10f2. Предыдущая версия 1.0.8 в октябре 2023 включена в релиз p10 
https://packages.altlinux.org/ru/search/?branch=sisyphus&q=podsec  

В связи с тем, что данная заявка закрыта я потерял 
доступ к  https://git.altlinux.org/people/kaf/packages/?p=podsec.git и
возможность вести пакет podsec  

Актуальность предыдущих вопросов по пакетам zincatti, bootupd пропала, так как эти пакеты портировал Андрей Соколов - https://packages.altlinux.org/ru/sisyphus/srpms/zincati/

В связи с эти прошу:
1. Открыть мою заявки в связи с необходимостью ведения группы пакетов podsec
https://packages.altlinux.org/ru/sisyphus/srpms/podsec/
2. Рассмотреть в рамках данной заявки реализованные группы пакетов podsec
3. В случае необходимости назначить мне для получения прав майнтейнера дополнительных пакетов для портирования
Comment 35 Gleb F-Malinovskiy 2023-12-20 20:53:40 MSK
В данный момент все доступы отозваны, есть только email alias.
Постараюсь в ближайшие дни восстановить доступ к git.alt и gyle.alt.
Comment 36 Gleb F-Malinovskiy 2023-12-25 19:30:10 MSK
ssh ключ на gitery.alt зарегистрирован.
ssh ключ на gyle.alt зарегистрирован.
Пакет alt-gpgkeys обновлён.
Адрес подписан на devel@.

Откатываю на стадию 3.6, мячик теперь на стороне ментора. :)
Comment 37 Gleb F-Malinovskiy 2024-01-22 16:35:17 MSK
ping?
Comment 38 ALexey Kostarev 2024-01-22 16:53:58 MSK
PONG

Добрый день
Я жду ответа на вопросы которые озвучил выше:
2. Рассмотреть в рамках данной заявки реализованные группы пакетов podsec
3. В случае необходимости назначить мне для получения прав майнтейнера дополнительных пакетов для портирования

Дополню, что в этом месяце 
- взял на сопровождение пакет podman-compose - https://git.altlinux.org/people/kaf/packages/?p=podman-compose.git;a=summary
- Оформил в рамках этого пакета pull request - https://github.com/containers/podman-compose/pull/820
и Issue - https://github.com/containers/podman-compose/issues/822
- так как приема pull request можно ждать довольно долго и не дождаться прорабатываю вариант добавления в наш пакет podman-compose скрипта конвертации podman-compose стека в kubernetes-маниесты:
  * https://www.altlinux.org/Podman-compose/kubernetes
  * https://github.com/alt-cloud/podman-compose/blob/pod-to-kubemanifests/bin/pod-to-kubemanifests
  * https://github.com/alt-cloud/podman-compose/blob/pod-to-kubemanifests/md/pod-to-kubemanifests.md
Планирую на этой и ближаыйшей неделе закончить написание, отладку и документирование скрипта
Comment 39 ALexey Kostarev 2024-01-22 17:08:13 MSK
(Ответ для Gleb F-Malinovskiy на комментарий #37)
> ping?

Да
URL покета podsec - https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=summary
Comment 40 Alexey Shabalin 2024-08-15 13:46:59 MSK
Претендент готов посылать пакеты в сизиф.
Прошу призвать рецензента.
Для проверки кандидат подготовил сборочное задание #355139
Comment 41 Gleb F-Malinovskiy 2024-09-24 19:33:52 MSK
Призван рецензент (rider@) для независимой оценки готовности кандидата.

T/J/S -> 4.2.
Comment 42 Anton Farygin 2024-09-24 19:53:44 MSK
podsec:
1) changelog пакета немного не соответствует рекомендациям по написанию changelog'ов, принятых в ALT Linux Team (точка в конце предложения)
2) Не понял смысл этого задания: https://packages.altlinux.org/ru/tasks/350829/
3) changelog в https://packages.altlinux.org/ru/tasks/357651/ вообще жестокий, непонятно куда смотрел ментор.

Ну и надо бы ошибки на podsec разгрести. Я хотел бы посмотреть на работу над патчами.

Аппрув должен буду делать в этот раз я.
Comment 43 Anton Farygin 2024-09-24 19:56:55 MSK
Что ещё посмотреть я не понял, но podsec меня ввёл в печаль.
Comment 44 ALexey Kostarev 2024-09-24 21:09:31 MSK
(Ответ для Anton Farygin на комментарий #43)
> Что ещё посмотреть я не понял, но podsec меня ввёл в печаль.

Доброго времени суток

Вообще-то podsec не самая моя лучшая работа в плане соответствия стандартам портировния пакетов, но лучшая, по моему мнению, в плане функционала. На момент версии 1.0 в июне прошлого года это была первая в мире реализация поддержки rootless kubernetes с развертыванием через kubeadm. На тот момент надо было обеспечивать необходимый функционал для соответствия требований по сертификации rootless kubernetes для платформы c10f1. Обеспечивать соответствию требованиям портирования пакетов не была первоочередной задачей. 
Если есть конкретные замечания (кроме необходимости удалений точек в конце предложений), готов их устранять.

По поводу "что еще посмотреть" - в заявке был указан таск #355139
https://packages.altlinux.org/en/tasks/355139/

podsec (таск https://packages.altlinux.org/ru/tasks/357651/) в заявку не входил. 

Поэтому я не совсем понимаю, почему рецензент все внимание уделил НЕ ВХОДЯЩЕМУ В ЗАЯВКУ пакету podsec и ни слове не сказал о ВХОДЯЩЕМУ В ЗАЯВКУ набором из 8-ми пакетов для поддержки flux2?
При их реализации летом этого года я не был скован временными требованиями и пытался придерживаться стандартов портирования пакетов (хотя за точки в конце не поручусь).
Прошу предоставить замечания именно по заявленному таску https://packages.altlinux.org/en/tasks/355139/
Comment 45 ALexey Kostarev 2024-09-24 21:20:16 MSK
(Ответ для Anton Farygin на комментарий #42)
> podsec:

> Аппрув должен буду делать в этот раз я.

Хотелось бы оперативно получить список замечений (наряду с отсутсвием точек в конце).

Пакет является одним из центральных, обсуждаемым в ходе еженедельных встреч по теме "Обсуждение ИК-01 Альт СП релиз 10". При наличии новых замечаний по функционалу  я буду вынужден реализовывать новые релизы и версии пакета podsec

В случае долгих блокировок я буду не способен проводить их на платформу c10f2.
Что может привести к задержке формирования окончательного ISO-образа для платформы c10f2.

Я готов оперативно устранять замечания рецензента, но не хотелось бы получать полную блокировку выхода очередных релизов и версия для платформы c10f2.
Comment 46 ALexey Kostarev 2024-09-24 21:57:09 MSK
(Ответ для Anton Farygin на комментарий #43)
> Что ещё посмотреть я не понял, но podsec меня ввёл в печаль.

По основному заявленному таску
https://packages.altlinux.org/en/tasks/355139/
была собраны образы, проведено тестирование и подготовлена документация по разворачиванию:
https://packages.altlinux.org/en/tasks/355139/
Если есть замечания по wiki-статье готов проводить изменения

По podsec была подготовлена документация как в рамках самого пакета (в форматах markdown и man):
- https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=tree;f=podsec/md;h=aa2272d0ff37b4844e6c9938480884a1c3e47243;hb=HEAD
- https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=tree;f=podsec-k8s/md;h=fdc9ef45a27578948e1347003f2ddbbfceb7c813;hb=HEAD
- https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=tree;f=podsec-inotify/md;h=4042f78534e7a4040f85566419b624308ed51d5d;hb=HEAD
- https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=tree;f=podsec-k8s-rbac/md;h=8bfb277ed82e0b4f3a7c3acf34e017cfb194ecd3;hb=HEAD

так и по разворачиванию решения:
- https://github.com/alt-cloud/podsec/blob/master/usernetes/README.md
- https://www.altlinux.org/Rootless_kubernetes

вошедшая в состав документов для сертификации платформ c10f1, c10f2

Если есть замечания к оформлению готов в фоновом режиме дорабатывать документацию
Comment 47 Anton Farygin 2024-09-25 07:06:43 MSK
Рецензент сам решает какую работу смотреть у кандидата.

Т.к. podsec собственная разработка, то предлагаю начать с неё.

первым делом предлагаю переписать весь changelog пакета, приведя его в порядок.
Все места, где в changelog указаны не изменения а version-release - раскрыть и написать в changelog сделанные изменения.

Как только будет готово - присылайте номер сборочного задания.
Comment 48 ALexey Kostarev 2024-09-25 08:00:31 MSK
(Ответ для Anton Farygin на комментарий #47)
> Рецензент сам решает какую работу смотреть у кандидата.
> 
> Т.к. podsec собственная разработка, то предлагаю начать с неё.
> 
> первым делом предлагаю переписать весь changelog пакета, приведя его в
> порядок.
> Все места, где в changelog указаны не изменения а version-release - раскрыть
> и написать в changelog сделанные изменения.
> 
> Как только будет готово - присылайте номер сборочного задания.

OK
Задача понятна
Comment 49 ALexey Kostarev 2024-09-25 13:42:06 MSK
(Ответ для Anton Farygin на комментарий #42)
> podsec:
> 1) changelog пакета немного не соответствует рекомендациям по написанию
> changelog'ов, принятых в ALT Linux Team (точка в конце предложения)

Прошу уточнить - точки в конце предложения ОБЯЗАТЕЛЬНЫ ии НЕОБЯЗАТЕЛЬНЫ
В документе https://www.altlinux.org/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8E_changelog указано
"Единообразно оформляйте предложения changelog’а: либо начинайте, либо не начинайте их все с большой буквы; либо заканчивайте, либо не заканчивайте их точкой."
речь идет об единообразии, а не об обязательности точек

В моем случае точки отсутствуют, что не нарушает указанное требование
Правда часть строк начинается с маленько буквы - исправлю на большие
Необходимо ли в этом случае ставить точки в конце?

По поводу требования оформления на английском языке
В самом начале развития проекта было принято решение (так как проект внутренний) писать логи на русском языке 
У меня в итоге смешанный формат оформления - часть логов на англмйском языка. Основная часть на русском
Допустимо ли оставить как есть?
Comment 50 Anton Farygin 2024-09-25 14:58:47 MSK
(Ответ для ALexey Kostarev на комментарий #49)
> (Ответ для Anton Farygin на комментарий #42)
> > podsec:
> > 1) changelog пакета немного не соответствует рекомендациям по написанию
> > changelog'ов, принятых в ALT Linux Team (точка в конце предложения)
> 
> Прошу уточнить - точки в конце предложения ОБЯЗАТЕЛЬНЫ ии НЕОБЯЗАТЕЛЬНЫ
> В документе
> https://www.altlinux.org/
> %D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%
> BE_%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8E_changelog указано
> "Единообразно оформляйте предложения changelog’а: либо начинайте, либо не
> начинайте их все с большой буквы; либо заканчивайте, либо не заканчивайте их
> точкой."
> речь идет об единообразии, а не об обязательности точек

Предложение, которое начинается с большой буквы - должно заканчиваться точкой.
перечисление с маленькой - нет.

> 
> В моем случае точки отсутствуют, что не нарушает указанное требование
> Правда часть строк начинается с маленько буквы - исправлю на большие
> Необходимо ли в этом случае ставить точки в конце?

Да

> 
> По поводу требования оформления на английском языке
> В самом начале развития проекта было принято решение (так как проект
> внутренний) писать логи на русском языке 
> У меня в итоге смешанный формат оформления - часть логов на англмйском
> языка. Основная часть на русском
> Допустимо ли оставить как есть?

У нас уже достаточно давно есть правило оформлять всю разработку на одном английском языке. Т.к. мы не знаем что дальше будет с каким проектом и какие разработчики к нему подключатся в дальнейшем, а английский понятен всем.
Поэтому язык changelog'ов должен быть английский.
Comment 51 ALexey Kostarev 2024-09-25 16:12:34 MSK
(Ответ для ALexey Kostarev на комментарий #49)
> (Ответ для Anton Farygin на комментарий #42)
> > podsec:
равда часть строк начинается с маленько буквы - исправлю на большие

> По поводу требования оформления на английском языке
> В самом начале развития проекта было принято решение (так как проект
> внутренний) писать логи на русском языке 
> У меня в итоге смешанный формат оформления - часть логов на англмйском
> языка. Основная часть на русском
> Допустимо ли оставить как есть?
Вопрос снимаю
Перевожу логи на английский
Comment 52 ALexey Kostarev 2024-09-25 17:15:57 MSK
(Ответ для Anton Farygin на комментарий #50)

> > В моем случае точки отсутствуют, что не нарушает указанное требование
> > Правда часть строк начинается с маленько буквы - исправлю на большие
> > Необходимо ли в этом случае ставить точки в конце?
> 
> Да
Сделано

> 
> > 
> > По поводу требования оформления на английском языке
> > В самом начале развития проекта было принято решение (так как проект
> > внутренний) писать логи на русском языке 
> > У меня в итоге смешанный формат оформления - часть логов на англмйском
> > языка. Основная часть на русском
> > Допустимо ли оставить как есть?
> 
> У нас уже достаточно давно есть правило оформлять всю разработку на одном
> английском языке. Т.к. мы не знаем что дальше будет с каким проектом и какие
> разработчики к нему подключатся в дальнейшем, а английский понятен всем.
> Поэтому язык changelog'ов должен быть английский.
Да подзапамятовал
При наличии кирилических букв мой локальный hasher бинарные пакеты не собирает
Перевел на английский добавив к тексту точки
Локальный hasher бинарные пакеты собрал корректно

Поместил podsec c последней версией podsec-1.1.6-alt6 на https://git.altlinux.org/people/kaf/packages/?p=podsec.git 

Но в текущий момент к сожалению сервер https://git.altlinux.org/ не отвечает :-(
(504 Gateway Time-out
nginx)
и
и gyle (194.107.17.31)
хоть и пингуется, но обращение на порт 222 сваливаетcя по Timeout?
Коллеги говорят, что в выходные была аналогичная ситуация

Так что запустить задачу на сборку пока не могу :-(
Буду ждать оживления сервисов
Comment 53 ALexey Kostarev 2024-09-25 18:00:12 MSK
> Буду ждать оживления сервисов
Сервисы заработали
Старый task к сожалению уже удален
Создал новый task
https://git.altlinux.org/tasks/358357/
Comment 54 Anton Farygin 2024-09-25 18:57:40 MSK
 241 * Wed Sep 25 2024 Alexey Kostarev <kaf@altlinux.org> 1.1.6-alt6
 242 - Changelog of podsec.spec has been adjusted to comply with recommendations
 243 - Support for loading additional images into the archive

Точек нет.
Comment 55 Anton Farygin 2024-09-25 18:59:20 MSK
Ещё правило хорошего тона, которое постоянно нарушается в этом пакете:
принято если изменение идёт только в спек-файле, то делать новый release.
если изменение в коде, меняющее функционал - то выпускать новую версию (увеличивая version).
Comment 56 ALexey Kostarev 2024-09-25 19:56:15 MSK
(Ответ для Anton Farygin на комментарий #54)
>  241 * Wed Sep 25 2024 Alexey Kostarev <kaf@altlinux.org> 1.1.6-alt6
>  242 - Changelog of podsec.spec has been adjusted to comply with
> recommendations
>  243 - Support for loading additional images into the archive
> 
> Точек нет.

Как это нет - они стоят ровно в том месте, которое описано в  https://www.altlinux.org/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8E_changelog
В конце каждого пункта (- ...) и подпункта (+ ...)
Или что то другое имеется в виду
Comment 57 ALexey Kostarev 2024-09-25 19:59:40 MSK
(Ответ для ALexey Kostarev на комментарий #56)
> (Ответ для Anton Farygin на комментарий #54)
> >  241 * Wed Sep 25 2024 Alexey Kostarev <kaf@altlinux.org> 1.1.6-alt6
> >  242 - Changelog of podsec.spec has been adjusted to comply with
> > recommendations
> >  243 - Support for loading additional images into the archive
> > 
> > Точек нет.
> 
> Как это нет - они стоят ровно в том месте, которое описано в 
> https://www.altlinux.org/
> %D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%
> BE_%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8E_changelog
> В конце каждого пункта (- ...) и подпункта (+ ...)
> Или что то другое имеется в виду

Н-да
В нескольких сотнях логов точки поставил
А во вновь добавленных 2-ч - нет :-)

Меня извиняет только то, что последние комментарии добавлял в конце рабочего дня
Переработаю
Comment 58 ALexey Kostarev 2024-09-25 20:10:29 MSK
(Ответ для Anton Farygin на комментарий #55)
> Ещё правило хорошего тона, которое постоянно нарушается в этом пакете:
> принято если изменение идёт только в спек-файле, то делать новый release.
> если изменение в коде, меняющее функционал - то выпускать новую версию
> (увеличивая version).

Да - этот пункт я для мне объяснили, только несколько месяцев назад
Хотя в другой редакции

Если меняется функционал - увеличивается версия, если все остальное, то release

То есть правки ошибок, создание и добавление документов и т.п. вроде как не меняют функционал. Поэтому я в этом случае увеличивал release
Это правильно?

По увеличению версии тоже вопросы - когда менять патч, минор и мажор версии?
Тут хоть правила и есть, то границы довольно расплывчаты

В любом случае я не представляю как сейчас переработать структуру истории тегов
Часть тегов уже попала в ссылки сторонних документов и перемещать и менятьь их уже чревато

Хотя в дальнейшем развитии постараюсь придерживаться этого правила с учетом замечаний по вопросу выше (входит ли исправление ошибок и доьавление документации в правило увеличения Release или Version)
Comment 59 ALexey Kostarev 2024-09-25 22:08:28 MSK
(Ответ для Anton Farygin на комментарий #54)
>  241 * Wed Sep 25 2024 Alexey Kostarev <kaf@altlinux.org> 1.1.6-alt6
>  242 - Changelog of podsec.spec has been adjusted to comply with
> recommendations
>  243 - Support for loading additional images into the archive
> 
> Точек нет.
Уф...

Добавил точки 
https://git.altlinux.org/tasks/358357/gears/400/git?p=git;a=blob;f=podsec.spec;h=ba9646a3996127a5e7cbc07212271949b1b37741;hb=HEAD#l241
Comment 60 Grigory Ustinov 2024-09-25 22:37:12 MSK
Я позволю себе влезть в процесс и напомнить Вам и рецензенту, что тексты изменений, будь то в ченджлоге, будь то в коммитах хорошо бы оформлять в единой временной форме.

https://www.altlinux.org/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8E_changelog#%D0%9B%D1%83%D1%87%D1%88%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_changelog
Пункт 2

382 * Tue Nov 07 2023 Alexey Kostarev <kaf@altlinux.org> 1.0.10-alt1
...
399 - Improvements to the correct definition of the list and version of kuber images.
400 - Adding U7S_KUBEADFLAGS variable containing all additional kubeadm flags.
401 - Added analysis and processing of flags.
402 - Adding support for flags via getopt.
403 - Documenting kubeadm flags in /docs/kubead/README.md.
404 - Request for deletion of the /var/lib/podsec/u7s/etcd directory if it exists during init and join.
405 - Clarification of platform detection for sisyphus.
406 - More accurate automatic detection of environment variables U7S_PLATFORM, U7S_KUBEVERSION.
407 - Document kubeadm flags in /docs/kubeadm/README.md.
408 - Move tuneAudit after CNI startup, restart services after tuneAudit.
409 - Remove u7s.target and its dependencies.
410 - Replace u7s.target with /usr/libexec/podsec/u7s/bin/.

Здесь перечислены 4 формы отражения изменения:
Improvements - существительное
Adding - present continious
Added - Past simple
Move - Present simple

Читать такой ченджлог как минимум неприятно, а быстро найти глазами интересующий момент ещё и сложно. Править это всё или нет решайте с рецензентом, но как минимум в будущем неплохо было бы определить единый стиль.
Comment 61 Anton Farygin 2024-09-26 07:16:46 MSK
Григорий, спасибо. Согласен с замечаний. Алексей, просьба исправить и этот момент.

Традиционно, для коммитов (изменений в коде) у нас используется present simple, для записей changelog past simple.
Comment 62 ALexey Kostarev 2024-09-26 07:19:22 MSK
(Ответ для Anton Farygin на комментарий #61)
> Григорий, спасибо. Согласен с замечаний. Алексей, просьба исправить и этот
> момент.
> 
> Традиционно, для коммитов (изменений в коде) у нас используется present
> simple, для записей changelog past simple.

Спасибо
Займусь
Comment 63 Anton Farygin 2024-09-26 07:20:21 MSK
(Ответ для ALexey Kostarev на комментарий #58)
> (Ответ для Anton Farygin на комментарий #55)
> > Ещё правило хорошего тона, которое постоянно нарушается в этом пакете:
> > принято если изменение идёт только в спек-файле, то делать новый release.
> > если изменение в коде, меняющее функционал - то выпускать новую версию
> > (увеличивая version).
> 
> Да - этот пункт я для мне объяснили, только несколько месяцев назад
> Хотя в другой редакции
> 
> Если меняется функционал - увеличивается версия, если все остальное, то
> release
> 
> То есть правки ошибок, создание и добавление документов и т.п. вроде как не
> меняют функционал. Поэтому я в этом случае увеличивал release
> Это правильно?
> 
> По увеличению версии тоже вопросы - когда менять патч, минор и мажор версии?
> Тут хоть правила и есть, то границы довольно расплывчаты
> 
> В любом случае я не представляю как сейчас переработать структуру истории
> тегов
> Часть тегов уже попала в ссылки сторонних документов и перемещать и менятьь
> их уже чревато
> 
> Хотя в дальнейшем развитии постараюсь придерживаться этого правила с учетом
> замечаний по вопросу выше (входит ли исправление ошибок и доьавление
> документации в правило увеличения Release или Version)

Изменять старые версии пакета не нужно. Что бы не мучаться с выбором того или иного поведения при изменении пакета, я предлагаю использовать простой факт - меняется содержимое source tarball - меняем версию, меняется содержимое только spec и сопутствующих файлов без изменения source tarball - увеличивайте версию.
Comment 64 Anton Farygin 2024-09-26 07:21:43 MSK
прошу прощения, корректировка:
Изменять старые версии пакета не нужно. Что бы не мучаться с выбором того или иного поведения при изменении пакета, я предлагаю использовать простой факт - меняется содержимое source tarball - меняем версию, меняется содержимое только spec и сопутствующих файлов без изменения source tarball - увеличивайте _release_.
Comment 65 ALexey Kostarev 2024-09-26 08:19:02 MSK
(Ответ для Anton Farygin на комментарий #64)
> прошу прощения, корректировка:
> Изменять старые версии пакета не нужно. Что бы не мучаться с выбором того
> или иного поведения при изменении пакета, я предлагаю использовать простой
> факт - меняется содержимое source tarball - меняем версию, меняется
> содержимое только spec и сопутствующих файлов без изменения source tarball -
> увеличивайте _release_.

Спасибо
Принцип довольно строгий,
но для полной ясности у меня остается вопрос.

Если на текущий момент необходимо сделать изменения как в source tarball, так и в spec и сопутствующих файлов создавать ли промежуточные release-теги, по которым  не собираются бинарники ?

Например у меня текущий тег
1.2.3-alt2

Я добавил в source tarball файл и соответственно меняю spec

Создавать ли мне теги:
1.2.4-alt1 - добавление файла
1.2.4-alt2 - изменения spec
Ясно, что бинарные пакеты будут собираться только для 1.2.4-alt2, так как 1.2.4-alt1 нефункционален

Или достаточно создать
1.2.4-alt1 - добавление файла, изменения spec
?
Comment 66 Anton Farygin 2024-09-26 08:20:02 MSK
1.2.4-alt1 - добавление файла, изменения spec
Comment 67 ALexey Kostarev 2024-09-26 11:16:42 MSK
(Ответ для ALexey Kostarev на комментарий #62)
> (Ответ для Anton Farygin на комментарий #61)
> > Григорий, спасибо. Согласен с замечаний. Алексей, просьба исправить и этот
> > момент.
> > 
> > Традиционно, для коммитов (изменений в коде) у нас используется present
> > simple, для записей changelog past simple.
> 
> Спасибо
> Займусь

Добрый день
https://git.altlinux.org/tasks/358357/gears/500/git?p=git;a=blob;f=podsec.spec;h=b0c959b4a8793a5b38580923288889b4063c5b95;hb=HEAD#l240
Comment 68 Anton Farygin 2024-09-26 11:38:18 MSK
Спасибо.
По спеку:
очень сложно сделан выбор файлов для упаковки, тяжело читается.
Вместо использования конструкций:
%_bindir/podsec*
%exclude %_bindir/podsec-save-oci
%exclude %_bindir/podsec-u7s-*
%exclude %_bindir/podsec-k8s-*
%exclude %_bindir/podsec-inotify-*
%_mandir/man?/podsec*
%exclude %_mandir/man?/podsec-k8s-*
%exclude %_mandir/man?/podsec-u7s-*
%exclude %_mandir/man?/podsec-save-oci*
%exclude %_mandir/man?/podsec-inotify-*

проще и правильнее (лучше читается) перечислить файлы, которые будут входить в подпакет.

Список там не очень большой и будет почти таким же по размерам как конструкции с exclude.
Comment 69 Anton Farygin 2024-09-26 11:39:10 MSK
Идея упакетить домашний каталог с подкаталогами выглядит странно:
%dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir
%dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.local
%dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.cache
%dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.config
%dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.ssh
%dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %_localstatedir/podsec/u7s
%dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %_localstatedir/podsec/u7s/etcd
%config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.bashrc
%config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.bash_profile
%config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.bash_logout

и очень похоже на ошибку упаковки.
По идее такие служебные домашние каталоги не должны предоставлять возможность пользователю в них работать.
Comment 70 ALexey Kostarev 2024-09-26 12:12:06 MSK
(Ответ для Anton Farygin на комментарий #69)
> Идея упакетить домашний каталог с подкаталогами выглядит странно:
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.local
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.cache
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.config
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.ssh
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %_localstatedir/podsec/u7s
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp)
> %_localstatedir/podsec/u7s/etcd
> %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> %u7s_admin_homedir/.bashrc
> %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> %u7s_admin_homedir/.bash_profile
> %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> %u7s_admin_homedir/.bash_logout
> 
> и очень похоже на ошибку упаковки.
> По идее такие служебные домашние каталоги не должны предоставлять
> возможность пользователю в них работать.
В смысле речь идет о правах 0750 в каталогах (это права по умолчанию)
0750 в каталогах означает возможность перейти в каталог, а не право на выполнение
Если в них поставить 640, то пользователь не сможет не перейти в них, ни записывать в них файлы
Зачем они тогда нужны?

Пример:
kaf@host-87:~/tmp $ mkdir a

kaf@host-87:~/tmp$ ls -ld a
drwxr-xr-x 2 kaf kaf 4096 сен 26 14:04 a

kaf@host-87:~/tmp $ chmod 644 a
kaf@host-87:~/tmp $ ls -ld a
drw-r--r-- 2 kaf kaf 4096 сен 26 14:04 a

kaf@host-87:~/tmp $ cd a
bash: cd: a: Отказано в доступе
kaf@host-87:~/tmp $ >a/vvv
bash: a/vvv: Отказано в доступе

Или речь о другом?
Comment 71 ALexey Kostarev 2024-09-26 12:18:17 MSK
(Ответ для Anton Farygin на комментарий #68)
> Спасибо.
> По спеку:
> очень сложно сделан выбор файлов для упаковки, тяжело читается.
> Вместо использования конструкций:
> %_bindir/podsec*
> %exclude %_bindir/podsec-save-oci
> %exclude %_bindir/podsec-u7s-*
> %exclude %_bindir/podsec-k8s-*
> %exclude %_bindir/podsec-inotify-*
> %_mandir/man?/podsec*
> %exclude %_mandir/man?/podsec-k8s-*
> %exclude %_mandir/man?/podsec-u7s-*
> %exclude %_mandir/man?/podsec-save-oci*
> %exclude %_mandir/man?/podsec-inotify-*
> 
> проще и правильнее (лучше читается) перечислить файлы, которые будут входить
> в подпакет.
> 
> Список там не очень большой и будет почти таким же по размерам как
> конструкции с exclude.

Ну он будет поболее и труднее в сопровождении - надо будет корректировать spec при каждом добавлении/удалении файлов 

Но раз резензент просит, то это закон :-)

Политику exclude сменю, но это потребует тестирования пакетов

+ сейчас разбираемся с коллегами с образом node-colector для trivy
Возможно это потребует добавление функционала в podsec с увеличение patch-версии

Так что новую версию podsec с исправлениями могу предоставить не ранее завтра :-(
Comment 72 Anton Farygin 2024-09-26 12:18:49 MSK
речь о другом.
попросите своего ментора разъяснить голосом.
Comment 73 Anton Farygin 2024-09-26 12:19:45 MSK
(Ответ для ALexey Kostarev на комментарий #70)
> (Ответ для Anton Farygin на комментарий #69)
> > Идея упакетить домашний каталог с подкаталогами выглядит странно:
> > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir
> > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.local
> > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.cache
> > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.config
> > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.ssh
> > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %_localstatedir/podsec/u7s
> > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp)
> > %_localstatedir/podsec/u7s/etcd
> > %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> > %u7s_admin_homedir/.bashrc
> > %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> > %u7s_admin_homedir/.bash_profile
> > %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> > %u7s_admin_homedir/.bash_logout
> > 
> > и очень похоже на ошибку упаковки.
> > По идее такие служебные домашние каталоги не должны предоставлять
> > возможность пользователю в них работать.
> В смысле речь идет о правах 0750 в каталогах (это права по умолчанию)
> 0750 в каталогах означает возможность перейти в каталог, а не право на
> выполнение
> Если в них поставить 640, то пользователь не сможет не перейти в них, ни
> записывать в них файлы
> Зачем они тогда нужны?
> 
> Пример:
> kaf@host-87:~/tmp $ mkdir a
> 
> kaf@host-87:~/tmp$ ls -ld a
> drwxr-xr-x 2 kaf kaf 4096 сен 26 14:04 a
> 
> kaf@host-87:~/tmp $ chmod 644 a
> kaf@host-87:~/tmp $ ls -ld a
> drw-r--r-- 2 kaf kaf 4096 сен 26 14:04 a
> 
> kaf@host-87:~/tmp $ cd a
> bash: cd: a: Отказано в доступе
> kaf@host-87:~/tmp $ >a/vvv
> bash: a/vvv: Отказано в доступе
> 
> Или речь о другом?

Про речь о другом - ответ на это сообщение.
Comment 74 Anton Farygin 2024-09-26 12:20:29 MSK
(Ответ для ALexey Kostarev на комментарий #71)
> (Ответ для Anton Farygin на комментарий #68)
> > Спасибо.
> > По спеку:
> > очень сложно сделан выбор файлов для упаковки, тяжело читается.
> > Вместо использования конструкций:
> > %_bindir/podsec*
> > %exclude %_bindir/podsec-save-oci
> > %exclude %_bindir/podsec-u7s-*
> > %exclude %_bindir/podsec-k8s-*
> > %exclude %_bindir/podsec-inotify-*
> > %_mandir/man?/podsec*
> > %exclude %_mandir/man?/podsec-k8s-*
> > %exclude %_mandir/man?/podsec-u7s-*
> > %exclude %_mandir/man?/podsec-save-oci*
> > %exclude %_mandir/man?/podsec-inotify-*
> > 
> > проще и правильнее (лучше читается) перечислить файлы, которые будут входить
> > в подпакет.
> > 
> > Список там не очень большой и будет почти таким же по размерам как
> > конструкции с exclude.
> 
> Ну он будет поболее и труднее в сопровождении - надо будет корректировать
> spec при каждом добавлении/удалении файлов 
> 
> Но раз резензент просит, то это закон :-)
> 
> Политику exclude сменю, но это потребует тестирования пакетов
> 
> + сейчас разбираемся с коллегами с образом node-colector для trivy
> Возможно это потребует добавление функционала в podsec с увеличение
> patch-версии
> 
> Так что новую версию podsec с исправлениями могу предоставить не ранее
> завтра :-(

Ок.

Присылайте все изменения на review
Comment 75 ALexey Kostarev 2024-09-26 12:32:20 MSK
(Ответ для Anton Farygin на комментарий #73)
> (Ответ для ALexey Kostarev на комментарий #70)
> > (Ответ для Anton Farygin на комментарий #69)
> > > Идея упакетить домашний каталог с подкаталогами выглядит странно:
> > > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir
> > > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.local
> > > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.cache
> > > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.config
> > > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.ssh
> > > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %_localstatedir/podsec/u7s
> > > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp)
> > > %_localstatedir/podsec/u7s/etcd
> > > %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> > > %u7s_admin_homedir/.bashrc
> > > %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> > > %u7s_admin_homedir/.bash_profile
> > > %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> > > %u7s_admin_homedir/.bash_logout
> > > 
> > > и очень похоже на ошибку упаковки.
> > > По идее такие служебные домашние каталоги не должны предоставлять
> > > возможность пользователю в них работать.
> > В смысле речь идет о правах 0750 в каталогах (это права по умолчанию)
> > 0750 в каталогах означает возможность перейти в каталог, а не право на
> > выполнение
> > Если в них поставить 640, то пользователь не сможет не перейти в них, ни
> > записывать в них файлы
> > Зачем они тогда нужны?
> > 
> > Пример:
> > kaf@host-87:~/tmp $ mkdir a
> > 
> > kaf@host-87:~/tmp$ ls -ld a
> > drwxr-xr-x 2 kaf kaf 4096 сен 26 14:04 a
> > 
> > kaf@host-87:~/tmp $ chmod 644 a
> > kaf@host-87:~/tmp $ ls -ld a
> > drw-r--r-- 2 kaf kaf 4096 сен 26 14:04 a
> > 
> > kaf@host-87:~/tmp $ cd a
> > bash: cd: a: Отказано в доступе
> > kaf@host-87:~/tmp $ >a/vvv
> > bash: a/vvv: Отказано в доступе
> > 
> > Или речь о другом?
> 
> Про речь о другом - ответ на это сообщение.
Речь о том, что данные каталоги должны создаваться при создании пользователя в секцмм %pre
https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=blob;f=podsec.spec;h=b0c959b4a8793a5b38580923288889b4063c5b95;hb=HEAD#l146
?

Возможно Вы правы - эти изменения вносились на определенном этапе для корректной работы podsec rootless

Возможно сейчас уже не требуется...

Просмотрю функционал и %_localstatedir/podsec/u7s (/usr/libexec/ который по умолчанию не создается перенесу в секцию %pre
Comment 76 ALexey Kostarev 2024-09-30 14:17:30 MSK
(Ответ для Anton Farygin на комментарий #69)
> Идея упакетить домашний каталог с подкаталогами выглядит странно:
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.local
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.cache
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.config
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir/.ssh
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %_localstatedir/podsec/u7s
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp)
> %_localstatedir/podsec/u7s/etcd
> %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> %u7s_admin_homedir/.bashrc
> %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> %u7s_admin_homedir/.bash_profile
> %config(noreplace) %attr(0640,%u7s_admin_usr,%u7s_admin_grp)
> %u7s_admin_homedir/.bash_logout
> 
> и очень похоже на ошибку упаковки.
> По идее такие служебные домашние каталоги не должны предоставлять
> возможность пользователю в них работать.

Добрый день

Замечания исправил
https://git.altlinux.org/tasks/358357/
Comment 77 Anton Farygin 2024-09-30 14:31:58 MSK
https://git.altlinux.org/tasks/358357/logs/events.6.1.log

В логах очень много unowned files
Comment 78 ALexey Kostarev 2024-09-30 17:13:56 MSK
(Ответ для Anton Farygin на комментарий #77)
> https://git.altlinux.org/tasks/358357/logs/events.6.1.log
> 
> В логах очень много unowned files

Добавил описание каталогов
https://git.altlinux.org/tasks/358357/logs/events.11.1.log

Каталоги

 /usr/libexec/podsec/u7s
 /var/lib/u7s-admin
 /var/lib/u7s-admin/.bashrc
 /var/lib/u7s-admin/.cache
 /var/lib/u7s-admin/.local
 /var/lib/u7s-admin/.local/share
 /var/lib/u7s-admin/.local/share/usernetes
 /var/lib/u7s-admin/.local/share/usernetes/containers

так как это подкаталоги домашнего каталога системного пользователя u7s-admin
и они создаются на этапе
%pre k8s

Если добавлю, то снова получу от Вас замечание описанное выше
Comment 79 Anton Farygin 2024-10-01 10:04:55 MSK
Не должно быть файлов из skel для пользователя сервиса. Зачем они нужны ?


И ещё - в логе про unowned files есть фа
https://packages.altlinux.org/ru/sisyphus/binary/nagwad-service/noarch/files/3120979963681020020
Comment 80 Anton Farygin 2024-10-01 10:05:25 MSK
Каталог /var/lib/u7s-admin должен принадлежать какому-то пакету.
Comment 81 ALexey Kostarev 2024-10-01 10:26:22 MSK
(Ответ для Anton Farygin на комментарий #79)
> Не должно быть файлов из skel для пользователя сервиса. Зачем они нужны ?
> https://packages.altlinux.org/ru/sisyphus/binary/nagwad-service/noarch/files/
> 3120979963681020020

При добавлении системного пользователя (в отличии от обычного) не используется skel, а мне нужны файлы
- .bash_profile
- .bashrc

Если точнее мне нужно доопределить переменную PATH:
export PATH=/usr/libexec/podsec/u7s/bin/:$PATH 

Обычно это делается в .bashrc
А для его вызова требуется
.bash_profile

Я конечно могу их скопировать в пакет 
Это  было сделано до этого и что Вам не понравилось:
> и очень похоже на ошибку упаковки.
> По идее такие служебные домашние каталоги не должны предоставлять
> возможность пользователю в них работать.

Так что единственным выходом в условиях в которые меян поставили было использование /etc/skel
Comment 82 ALexey Kostarev 2024-10-01 10:32:35 MSK
(Ответ для Anton Farygin на комментарий #80)
> Каталог /var/lib/u7s-admin должен принадлежать какому-то пакету.

Он принадлежал пакету podsec-k8s, но попал в список каталогов, 
https://bugzilla.altlinux.org/show_bug.cgi?id=39627#c69
> Идея упакетить домашний каталог с подкаталогами выглядит странно:
> %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir
> ...
Можно как то более точно определить замечание #c69
Иначе я вижу противоречие между двумя замечаниями
Comment 83 Anton Farygin 2024-10-01 10:39:40 MSK
(Ответ для ALexey Kostarev на комментарий #81)
> (Ответ для Anton Farygin на комментарий #79)
> > Не должно быть файлов из skel для пользователя сервиса. Зачем они нужны ?
> > https://packages.altlinux.org/ru/sisyphus/binary/nagwad-service/noarch/files/
> > 3120979963681020020
> 
> При добавлении системного пользователя (в отличии от обычного) не
> используется skel, а мне нужны файлы
> - .bash_profile
> - .bashrc
> 
> Если точнее мне нужно доопределить переменную PATH:
> export PATH=/usr/libexec/podsec/u7s/bin/:$PATH 
> 
> Обычно это делается в .bashrc
> А для его вызова требуется
> .bash_profile
> 
> Я конечно могу их скопировать в пакет 
> Это  было сделано до этого и что Вам не понравилось:
> > и очень похоже на ошибку упаковки.
> > По идее такие служебные домашние каталоги не должны предоставлять
> > возможность пользователю в них работать.
> 
> Так что единственным выходом в условиях в которые меян поставили было
> использование /etc/skel

Ну зачем же так сложно. путь к скриптам можно переопределить в самих скриптах, а не в домашнем каталоге.

сделать что-то вроде functions, в котором будет переопределяться путь и этот functions инклюдить в каждом скрипте.
Comment 84 Anton Farygin 2024-10-01 10:40:40 MSK
(Ответ для ALexey Kostarev на комментарий #82)
> (Ответ для Anton Farygin на комментарий #80)
> > Каталог /var/lib/u7s-admin должен принадлежать какому-то пакету.
> 
> Он принадлежал пакету podsec-k8s, но попал в список каталогов, 
> https://bugzilla.altlinux.org/show_bug.cgi?id=39627#c69
> > Идея упакетить домашний каталог с подкаталогами выглядит странно:
> > %dir %attr(0750,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir
> > ...
> Можно как то более точно определить замечание #c69
> Иначе я вижу противоречие между двумя замечаниями

Сам домашний каталог должен быть упакечен с нужными правами, но пустой.
Не надо его создавать вместе с пользователем.
Comment 85 ALexey Kostarev 2024-10-01 10:43:19 MSK
(Ответ для Anton Farygin на комментарий #79)
> И ещё - в логе про unowned files есть фа
> https://packages.altlinux.org/ru/sisyphus/binary/nagwad-service/noarch/files/
> 3120979963681020020

Можно уточнить о каком именно файле идет речь (в тексте не закрнчено)?
В логах https://git.altlinux.org/tasks/358357/logs/events.11.1.log
я не вижу имени файла из пакета  nagwad-service
И вроде это как не мой пакет

Мои из области протоколирования логов: 
- podsec-nagios
- podsec-icings
Comment 86 Anton Farygin 2024-10-01 10:45:06 MSK
(Ответ для ALexey Kostarev на комментарий #85)
> (Ответ для Anton Farygin на комментарий #79)
> > И ещё - в логе про unowned files есть фа
> > https://packages.altlinux.org/ru/sisyphus/binary/nagwad-service/noarch/files/
> > 3120979963681020020
> 
> Можно уточнить о каком именно файле идет речь (в тексте не закрнчено)?
> В логах https://git.altlinux.org/tasks/358357/logs/events.11.1.log
> я не вижу имени файла из пакета  nagwad-service
> И вроде это как не мой пакет
> 
> Мои из области протоколирования логов: 
> - podsec-nagios
> - podsec-icings

x86_64: podsec=1.1.8-alt2 post-install unowned files:
 /etc/nagwad


возможно просто не хватает какой-то зависимости
Comment 87 ALexey Kostarev 2024-10-01 11:14:32 MSK
(Ответ для Anton Farygin на комментарий #83)
> (Ответ для ALexey Kostarev на комментарий #81)
> > (Ответ для Anton Farygin на комментарий #79)
> > > Не должно быть файлов из skel для пользователя сервиса. Зачем они нужны ?
> > > https://packages.altlinux.org/ru/sisyphus/binary/nagwad-service/noarch/files/
> > > 3120979963681020020
> > 
> > При добавлении системного пользователя (в отличии от обычного) не
> > используется skel, а мне нужны файлы
> > - .bash_profile
> > - .bashrc
> > 
> > Если точнее мне нужно доопределить переменную PATH:
> > export PATH=/usr/libexec/podsec/u7s/bin/:$PATH 
> > 
> > Обычно это делается в .bashrc
> > А для его вызова требуется
> > .bash_profile
> > 
> > Я конечно могу их скопировать в пакет 
> > Это  было сделано до этого и что Вам не понравилось:
> > > и очень похоже на ошибку упаковки.
> > > По идее такие служебные домашние каталоги не должны предоставлять
> > > возможность пользователю в них работать.
> > 
> > Так что единственным выходом в условиях в которые меян поставили было
> > использование /etc/skel
> 
> Ну зачем же так сложно. путь к скриптам можно переопределить в самих
> скриптах, а не в домашнем каталоге.
> 
> сделать что-то вроде functions, в котором будет переопределяться путь и этот
> functions инклюдить в каждом скрипте.

И это Вы называете просто?

Вместо того, чтобы определить переменную PATH при запуске любого скрипта из под пользователя u7s-admin определять эту переменную в десятке скриптов
https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=tree;f=usernetes/bin;h=7621bc56acfab9c3fa6606a8ad9d44a82ea8d1c0;hb=HEAD ?
+ отлаживать ситуации когда переменная PATH корректно не определяется


У нас с Вами разные представления о сложности :-)

> По идее такие служебные домашние каталоги не должны предоставлять возможность пользователю в них работать.

Обычному пользователю да - не должны

Но администратору kubernetes (ну и разработчику и тестеру) вроде как сильно не помещают

Часто возникает при отладке и эксплуатации необходимость выполнить команду в namespace окружении пользователя u7s-admin:
# machinectl shell u7s-admin@
$ nsenter_u7s
# <команды в namespace-окружении>: iptables ..., ip ...,  crictl, ...
# less <файл> # просмотр файлов логов и т.пю которые видны ТОЛЬКО в namespace-окружении

Я как бывший (и текущий) администратор считаю некорректным каждый раз еще добавлять в этот сложный процесс еще и переопределение переменной PATH перед запуском команды 
nsenter_u7s
Comment 88 Anton Farygin 2024-10-01 11:37:42 MSK
из 20 тысяч пакетов bashrc присутствует в совсем небольшом количестве:
https://packages.altlinux.org/ru/sisyphus/files/?q=.bashrc

и сразу в двух пакетах это ошибка.



да, архитектура приложения не должна полагаться на PATH в окружении, а системный пользователь не предназначен для рядовой работы под ним.
Comment 89 ALexey Kostarev 2024-10-01 14:43:09 MSK
(Ответ для Anton Farygin на комментарий #88)
> из 20 тысяч пакетов bashrc присутствует в совсем небольшом количестве:
> https://packages.altlinux.org/ru/sisyphus/files/?q=.bashrc
> 
> и сразу в двух пакетах это ошибка.
> 
> 
> 
> да, архитектура приложения не должна полагаться на PATH в окружении, а
> системный пользователь не предназначен для рядовой работы под ним.

Я про рядовую работу не говорю

Я говорю про работу администратора kubernetes в нестандартных ситуациях

Это как я понимаю из неписанных правил.
Ждал от Вас замечания, что в /etc/password должен быть /bin/false в качестве интепретатора
Ожидать в дальнейшем или указание /bin/bash в системных пользователя допустимо?

Данные предложения приведут к: 
- серъезной переработке кода
- отладке на моей стадии
- поиск регрессий на стадии тестирования
- обсуждения и добавления механизма для администратора kubernetes заходить в namespace пользователя u7s-admin 
- доработке документации для администратора kubernetes
- смене минорной версии пакета на podsec 1.2

Я не против этих  изменений, но сейчас коллеги по сертификации платформы c10f2 ждут от меня изменений по обнаруженным  в рамках тестирования недоработкам для podsec этой платформы.

Так как при описанных доработках срок реализации этих изменений и прохождения полного тестирования на регресии составит 1-2 недели я буду вынужден сегодня в 16:00 MSK на обсуждении в рамках "Обсуждение ИК-01 Альт СП релиз 10" обрисовать эту ситуацию. 

Как альтернативу предлагаю все таки пропустить текущий релиз (в доработками unowners files) в sisyphus, а "пропускать" меня на дальнейшую стадию join после реализации podsec-1.2.x

Обсудить можно с Игорем Корчагиным, Владимиром Черным, Денисом Медведевым, ... 

   

А делать то что?
Comment 90 ALexey Kostarev 2024-10-01 14:44:24 MSK
(Ответ для ALexey Kostarev на комментарий #89)
> (Ответ для Anton Farygin на комментарий #88)
> > из 20 тысяч пакетов bashrc присутствует в совсем небольшом количестве:
> > https://packages.altlinux.org/ru/sisyphus/files/?q=.bashrc
> > 
> > и сразу в двух пакетах это ошибка.
> > 
> > 
> > 
> > да, архитектура приложения не должна полагаться на PATH в окружении, а
> > системный пользователь не предназначен для рядовой работы под ним.
> 
> Я про рядовую работу не говорю
> 
> Я говорю про работу администратора kubernetes в нестандартных ситуациях
> 
> Это как я понимаю из неписанных правил.
> Ждал от Вас замечания, что в /etc/password должен быть /bin/false в качестве
> интепретатора
> Ожидать в дальнейшем или указание /bin/bash в системных пользователя
> допустимо?
> 
> Данные предложения приведут к: 
> - серъезной переработке кода
> - отладке на моей стадии
> - поиск регрессий на стадии тестирования
> - обсуждения и добавления механизма для администратора kubernetes заходить в
> namespace пользователя u7s-admin 
> - доработке документации для администратора kubernetes
> - смене минорной версии пакета на podsec 1.2
> 
> Я не против этих  изменений, но сейчас коллеги по сертификации платформы
> c10f2 ждут от меня изменений по обнаруженным  в рамках тестирования
> недоработкам для podsec этой платформы.
> 
> Так как при описанных доработках срок реализации этих изменений и
> прохождения полного тестирования на регресии составит 1-2 недели я буду
> вынужден сегодня в 16:00 MSK на обсуждении в рамках "Обсуждение ИК-01 Альт
> СП релиз 10" обрисовать эту ситуацию. 
> 
> Как альтернативу предлагаю все таки пропустить текущий релиз (в доработками
> unowners files) в sisyphus, а "пропускать" меня на дальнейшую стадию join
> после реализации podsec-1.2.x
> 
> Обсудить можно с Игорем Корчагиным, Владимиром Черным, Денисом Медведевым,
> ... 
> 
>    
> 
> А делать то что?
Последняя фраза вне контекста
Игнорируйте :-)
Comment 91 ALexey Kostarev 2024-10-01 15:39:32 MSK
> x86_64: podsec=1.1.8-alt2 post-install unowned files:
>  /etc/nagwad
> 
> 
> возможно просто не хватает какой-то зависимости

Я почему то не могу найти этой строки в log'ах

Но описания каталога действительно нет в spec

Добавил
В логах (снова :-)) не вижу

https://git.altlinux.org/tasks/358357/logs/events.12.1.log
Comment 92 Anton Farygin 2024-10-01 15:59:19 MSK
(Ответ для ALexey Kostarev на комментарий #91)
> > x86_64: podsec=1.1.8-alt2 post-install unowned files:
> >  /etc/nagwad
> > 
> > 
> > возможно просто не хватает какой-то зависимости
> 
> Я почему то не могу найти этой строки в log'ах
> 
> Но описания каталога действительно нет в spec
> 
> Добавил

Это не правильно. 

На мой взгляд должна была быть зависимость на пакет, в котором живёт этот каталог.
Comment 93 ALexey Kostarev 2024-10-01 16:01:15 MSK
(Ответ для Anton Farygin на комментарий #92)
> (Ответ для ALexey Kostarev на комментарий #91)
> > > x86_64: podsec=1.1.8-alt2 post-install unowned files:
> > >  /etc/nagwad
> > > 
> > > 
> > > возможно просто не хватает какой-то зависимости
> > 
> > Я почему то не могу найти этой строки в log'ах
> > 
> > Но описания каталога действительно нет в spec
> > 
> > Добавил
> 
> Это не правильно. 
> 
> На мой взгляд должна была быть зависимость на пакет, в котором живёт этот
> каталог.
OK
Возможно 

Обсужу в @manowar

Он занимался этой частью пакета
Comment 94 Anton Farygin 2024-10-01 16:04:41 MSK
(Ответ для ALexey Kostarev на комментарий #89)

> Так как при описанных доработках срок реализации этих изменений и
> прохождения полного тестирования на регресии составит 1-2 недели я буду
> вынужден сегодня в 16:00 MSK на обсуждении в рамках "Обсуждение ИК-01 Альт
> СП релиз 10" обрисовать эту ситуацию. 
> 
> Как альтернативу предлагаю все таки пропустить текущий релиз (в доработками
> unowners files) в sisyphus, а "пропускать" меня на дальнейшую стадию join
> после реализации podsec-1.2.x
> 
> Обсудить можно с Игорем Корчагиным, Владимиром Черным, Денисом Медведевым,

Алексей, мы здесь про JOIN в ALT Linux Team. 
JOIN ничего не знает про ваши сложности с СП релиз 10, Чёрного, Корчагина и остальных коллег.

для того, что бы задание в Sisyphus не держало ваши задачи по c10f2, я удаляю пакет podsec из Sisyphus и теперь в репозиторий c10f2 можно отправлять задания не дожидаясь их прохождения в Sisyphus.

Но это не убирает необходимости в рамках JOIN поднять качество пакету.
Comment 95 ALexey Kostarev 2024-10-01 21:27:32 MSK
(Ответ для Anton Farygin на комментарий #94)
> (Ответ для ALexey Kostarev на комментарий #89)
> 
> > Так как при описанных доработках срок реализации этих изменений и
> > прохождения полного тестирования на регресии составит 1-2 недели я буду
> > вынужден сегодня в 16:00 MSK на обсуждении в рамках "Обсуждение ИК-01 Альт
> > СП релиз 10" обрисовать эту ситуацию. 
> > 
> > Как альтернативу предлагаю все таки пропустить текущий релиз (в доработками
> > unowners files) в sisyphus, а "пропускать" меня на дальнейшую стадию join
> > после реализации podsec-1.2.x
> > 
> > Обсудить можно с Игорем Корчагиным, Владимиром Черным, Денисом Медведевым,
> 
> Алексей, мы здесь про JOIN в ALT Linux Team. 
> JOIN ничего не знает про ваши сложности с СП релиз 10, Чёрного, Корчагина и
> остальных коллег.
> 
> для того, что бы задание в Sisyphus не держало ваши задачи по c10f2, я
> удаляю пакет podsec из Sisyphus и теперь в репозиторий c10f2 можно
> отправлять задания не дожидаясь их прохождения в Sisyphus.
> 
> Но это не убирает необходимости в рамках JOIN поднять качество пакету.

Да конечно

Спасибо, за вышеприведенные замечания и то, что вошли в текущую ситуацию...

Я, как Вы рекомендовали, проконсультируюсь по оставшимся разногласиями у своего менторы Алексей Шабалина

Думаю по итогам обсуждения продолжим  движение дальше в рамках этой задачи
Comment 96 ALexey Kostarev 2024-10-03 22:37:29 MSK
(Ответ для Anton Farygin на комментарий #94)
> (Ответ для ALexey Kostarev на комментарий #89)
> 
> > Так как при описанных доработках срок реализации этих изменений и
> > прохождения полного тестирования на регресии составит 1-2 недели я буду
> > вынужден сегодня в 16:00 MSK на обсуждении в рамках "Обсуждение ИК-01 Альт
> > СП релиз 10" обрисовать эту ситуацию. 
> > 
> > Как альтернативу предлагаю все таки пропустить текущий релиз (в доработками
> > unowners files) в sisyphus, а "пропускать" меня на дальнейшую стадию join
> > после реализации podsec-1.2.x
> > 
> > Обсудить можно с Игорем Корчагиным, Владимиром Черным, Денисом Медведевым,
> 
> Алексей, мы здесь про JOIN в ALT Linux Team. 
> JOIN ничего не знает про ваши сложности с СП релиз 10, Чёрного, Корчагина и
> остальных коллег.
> 
> для того, что бы задание в Sisyphus не держало ваши задачи по c10f2, я
> удаляю пакет podsec из Sisyphus и теперь в репозиторий c10f2 можно
> отправлять задания не дожидаясь их прохождения в Sisyphus.
> 
> Но это не убирает необходимости в рамках JOIN поднять качество пакету.

Доброго времени суток

podsec-пакеты прошли тестирование в c10f2. Спасибо

Сформировал 1.1.8-alt4:

- переопределение переменной PATH перенесено из .bashrc в функцию podsec-u7s-function
- флаг -m  (создать домашний каталог) в useradd заменен на -M (не создавать)
- кроме домашнего каталога ~u7s-admin в пакет podsec-k8s включены подкаталоги .local, .local/share, .local/share/usernetes. .local/share/usernetes/containers.  Это связано с необходимостью объединения каталогов контейнеров и образов обычного и namespaced окружения пользователя u7s-admin. Это обеспечивает корректную работу команды trivy для анализа уязвимостей в контейнерах и образах в пакете podsec-inotify

Логи сборки образа https://git.altlinux.org/tasks/358357/logs/events.18.1.log
Comment 97 Anton Farygin 2024-10-04 15:42:48 MSK
Алексей, я настоятельно рекомендую придерживаться выпуска новой версии при изменении исходного кода проекта.

Т.е. - здесь явно напрашивается 1.1.9-alt1 (в последнем коммите)
Comment 98 Anton Farygin 2024-10-04 15:44:42 MSK
Права 0755 для домашнего каталога выглядят несекьюрно:
%dir %attr(0755,%u7s_admin_usr,%u7s_admin_grp) %_localstatedir/podsec/u7s

%dir %attr(0755,%u7s_admin_usr,%u7s_admin_grp) %u7s_admin_homedir
Comment 99 ALexey Kostarev 2024-10-04 17:14:12 MSK
(Ответ для Anton Farygin на комментарий #97)
> Алексей, я настоятельно рекомендую придерживаться выпуска новой версии при
> изменении исходного кода проекта.
> 
> Т.е. - здесь явно напрашивается 1.1.9-alt1 (в последнем коммите)

Инерция привычки :-(
Пока бросает в крайности 
Я и точки в комитах то пока с трудом ставлю со второго раза :-)
Исправлюсь
Comment 100 ALexey Kostarev 2024-10-07 10:35:13 MSK
(Ответ для ALexey Kostarev на комментарий #99)
> (Ответ для Anton Farygin на комментарий #97)
> > Алексей, я настоятельно рекомендую придерживаться выпуска новой версии при
> > изменении исходного кода проекта.
> > 
> > Т.е. - здесь явно напрашивается 1.1.9-alt1 (в последнем коммите)
> 
> Инерция привычки :-(
> Пока бросает в крайности 
> Я и точки в комитах то пока с трудом ставлю со второго раза :-)
> Исправлюсь
Добрый день!

https://git.altlinux.org/tasks/358357/:
- изменил историю  на версию 1.1.9-alt1
- изменил права доступа ~u7s-admin/.local/ с 0755 на 0700 
- для скриптов, запускаемых под пользователем  u7s-admin сменил владельца на u7s-admin и права доступа на 0700
- проверил разворачивание - версия рабочая
Comment 101 Anton Farygin 2024-10-07 11:12:10 MSK
В specfile осталось ещё много, очень много каталогов с правами 0755
Вероятно этот список надо посмотреть весь и там, где не нужны такие права - сделать их более ограниченными по умолчанию.
Comment 102 ALexey Kostarev 2024-10-07 14:01:39 MSK
(Ответ для Anton Farygin на комментарий #101)
> В specfile осталось ещё много, очень много каталогов с правами 0755
> Вероятно этот список надо посмотреть весь и там, где не нужны такие права -
> сделать их более ограниченными по умолчанию.

OK
Посмотрю
Возможно для части каталогов и файлов стоит поменять и владельца с root на u7s-admin

У меня на очереди в sisyphus еще висят 8 пакетов flux2
https://packages.altlinux.org/en/tasks/355139/

Для 6-ти из них надо создавать docker-образы. 
Но пока они не попадут в sisyphus собрать образы нет возможности

Какова дальнейшая судьба этих пакетов?
Comment 103 Anton Farygin 2024-10-07 14:23:47 MSK
(Ответ для ALexey Kostarev на комментарий #102)
> (Ответ для Anton Farygin на комментарий #101)
> > В specfile осталось ещё много, очень много каталогов с правами 0755
> > Вероятно этот список надо посмотреть весь и там, где не нужны такие права -
> > сделать их более ограниченными по умолчанию.
> 
> OK
> Посмотрю
> Возможно для части каталогов и файлов стоит поменять и владельца с root на
> u7s-admin
> 
> У меня на очереди в sisyphus еще висят 8 пакетов flux2
> https://packages.altlinux.org/en/tasks/355139/
> 
> Для 6-ти из них надо создавать docker-образы. 
> Но пока они не попадут в sisyphus собрать образы нет возможности
> 
> Какова дальнейшая судьба этих пакетов?

Я не хотел бы в bugzilla смешивать и предлагаю сначала довести до завершения однй задачу.

Я отвечаю быстро. И если оперативно и качественно, не делая новых ошибок, вносить исправления - это всё можно закончить за день.
Comment 104 ALexey Kostarev 2024-10-07 15:34:47 MSK
(Ответ для Anton Farygin на комментарий #103)
> (Ответ для ALexey Kostarev на комментарий #102)
> > (Ответ для Anton Farygin на комментарий #101)
> > > В specfile осталось ещё много, очень много каталогов с правами 0755
> > > Вероятно этот список надо посмотреть весь и там, где не нужны такие права -
> > > сделать их более ограниченными по умолчанию.
> > 
> > OK
> > Посмотрю
> > Возможно для части каталогов и файлов стоит поменять и владельца с root на
> > u7s-admin
> > 
> > У меня на очереди в sisyphus еще висят 8 пакетов flux2
> > https://packages.altlinux.org/en/tasks/355139/
> > 
> > Для 6-ти из них надо создавать docker-образы. 
> > Но пока они не попадут в sisyphus собрать образы нет возможности
> > 
> > Какова дальнейшая судьба этих пакетов?
> 
> Я не хотел бы в bugzilla смешивать и предлагаю сначала довести до завершения
> однй задачу.
> 
> Я отвечаю быстро. И если оперативно и качественно, не делая новых ошибок,
> вносить исправления - это всё можно закончить за день.

OK

Я просто пока мгновенно реагировать не могу - отвлекают работы по c10f2
Но постараюсь оперативно реагировать на замечания.
Comment 105 ALexey Kostarev 2024-10-07 22:25:39 MSK
(Ответ для Anton Farygin на комментарий #103)
> (Ответ для ALexey Kostarev на комментарий #102)
> > (Ответ для Anton Farygin на комментарий #101)
> > > В specfile осталось ещё много, очень много каталогов с правами 0755
> > > Вероятно этот список надо посмотреть весь и там, где не нужны такие права -
> > > сделать их более ограниченными по умолчанию.
> > 
> > OK
> > Посмотрю
> > Возможно для части каталогов и файлов стоит поменять и владельца с root на
> > u7s-admin
> > 
> > У меня на очереди в sisyphus еще висят 8 пакетов flux2
> > https://packages.altlinux.org/en/tasks/355139/
> > 
> > Для 6-ти из них надо создавать docker-образы. 
> > Но пока они не попадут в sisyphus собрать образы нет возможности
> > 
> > Какова дальнейшая судьба этих пакетов?
> 
> Я не хотел бы в bugzilla смешивать и предлагаю сначала довести до завершения
> однй задачу.
> 
> Я отвечаю быстро. И если оперативно и качественно, не делая новых ошибок,
> вносить исправления - это всё можно закончить за день.

Уточнил владельцев и права доступа для скриптов выполняемых при разворачивании rootless kubernetes узла, располагаемых в каталоге /usr/libexec/podsec/u7s/bin/

В свое время выбрал этот каталог, как рекомендуемый.
Но не вчитался в детали.
Его необходимо добавлять в тропу PATH

Сейчас обратил внимание но то, что для выполняемых файлов пользователя есть каталог $HOME/bin. ПРичем он автоматически добавляется в /etc/profiles при выполнении скриптов под пользователей u7s-admin

Может стоит перенести выполняемые скрипты из /usr/libexec/podsec/u7s/bin/ в ~u7s-admin/bin ?

В этом случае и необходимость модификации PATH отпадает при разворачивании rootless kuber (podsec-k8s).
Comment 106 Anton Farygin 2024-10-08 07:41:39 MSK
точно не стоит. FHS придумали как раз для того, что бы таких идей не возникало.
Comment 107 ALexey Kostarev 2024-10-08 08:40:47 MSK
(Ответ для Anton Farygin на комментарий #106)
> точно не стоит. FHS придумали как раз для того, что бы таких идей не
> возникало.

Меня как раз и смутило 

1. Внимаетельное прочтение FHS-документа:
https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html
/usr/libexec includes internal binaries that are not intended to be EXECUTED DIRECTLY by users or shell scripts.

В нашем случае часть скриптов из /usr/libexec/podsec/bin вызываются непосредственно из окружения пользователя при разворачивании rootless-kubernetes по схемам в скобках пользователи:
/usr/libexec/podsec/bin/kubeadm (root) 
  -> /usr/libexec/podsec/bin/kubeadm.sh (u7s-admin)
    -> системная_команда_или_podsec-скрипт

/usr/libexec/podsec/bin/kubeadm (root)
  -> /usr/libexec/podsec/bin/kubeadm.sh (u7s-admin)
    -> nsenter (переход в namespace u7s-admin с правами превдо-root) 
      -> системная_команда_или_podsec-скрипт (превдо-root пользователя u7s-admin)

shell (u7s-admin)
  -> системная_команда_или_podsec-скрипт (u7s-admin)  

shell (u7s-admin)
  -> nsenter (переход в namespace u7s-admin с правами превдо-root) 
    -> системная_команда_или_podsec-скрипт (превдо-root пользователя u7s-admin)

То есть часть скриптов вызывается НЕПОСРЕДСТВЕННО ПОЛЬЗОВАТЕДЕМ u7s-admin

2. $HOME/bin хоть и не сходит в FHS, но в RPM-дистрибутивах (в которым вроде как принажлежит дистрибутив ALTLinux) является практически стандартом де-факто и автоматически добавляется в тропе HOME в начало в /etc/profile:
https://unix.stackexchange.com/questions/507829/what-binaries-are-stored-in-home-username-bin
However, having /home/username/bin/ is something you can encounter on RPM-based distributions, such as Fedora, Red Hat Entreprise Linux or Suse.
  
Именно эти соображения и сподвигли меня оформить это предложение

PS
Может для оперативного решения части вопросов и дискуссии использовать telegram?
Comment 108 Anton Farygin 2024-10-08 08:48:53 MSK
Лучше обсудить этот вопрос с ментором (Алексеем Шабалиным).
Comment 109 Grigory Ustinov 2024-10-08 09:23:51 MSK
(Ответ для ALexey Kostarev на комментарий #107)
> Может для оперативного решения части вопросов и дискуссии использовать
> telegram?

По-моему, оперативнее, чем отвечает rider@ уже некуда. Мне вот интересно понаблюдать за вашим джойном. Мне интересно и как ментору некоторых кандидатов и как уже состоявшемуся мейнтейнеру. Возможно кто-то ещё наблюдает:)
Comment 110 ALexey Kostarev 2024-10-08 15:58:19 MSK
(Ответ для Anton Farygin на комментарий #101)
> В specfile осталось ещё много, очень много каталогов с правами 0755
> Вероятно этот список надо посмотреть весь и там, где не нужны такие права -
> сделать их более ограниченными по умолчанию.

Добрый вечер
Поправил и доьавил права и владельцев файлов и каталогов
https://git.altlinux.org/tasks/358357/logs/events.19.1.log

Большинству файлов и каталогов установил владельца и группу u7s-admin, 
с правами 0700 для каталогов и 0600 для файлов, так как они используются при запуске rootless-kubernetes при работа в среде пользователя u7s-admin.
Часть скриптов запускаются при работа непосредственно в пользователе u7s-admin.
Часть в его namespace от имени предво-root, который в HOST_системе имеет права пользователя u7s-admin

Для файлов и каталогов пользователя u7s-admin права выставил 0700 для каталогов и скриптов, 0600 для обычных файлов и файлов конфигураций
Сторонний пользователеь в этом случае их не прочтет, не изменит и не выполнит
А пользователь root в любом случае имеет права аналогичные пользователю u7s-admin

Для скриптов, запускаемых только под root (/usr/bin/podsec-u7s-kubeadm)
выставил права 0700 с владельцем root

Для скриптов, запускаемых как от root, так и от любого пользователя 
(это в основном скрипты для работы с кластером и RBAC) указывать права доступа и владельца root не стал
Как я понимаю по умолчанию установится то что надо:
 %attr(0755,root,root)


Защищенность данного решения от доступа к скриптам и файлам сторонним пользователем значительно возросла
Что очень полезно для защищенного решения в рамках платформ c10f

Спасибо за совет!
Comment 111 Anton Farygin 2024-10-08 17:32:27 MSK
+- Removed unuser script podsec-k8s-create-master.

выглядит как опечатка.

Всё остальное (я детально права не проверял) стало заметно лучше. спасибо.
Comment 112 Anton Farygin 2024-10-08 17:35:18 MSK
Ещё вот тут:
https://git.altlinux.org/tasks/358357/build/2300/x86_64/srpm.log 
заметил:
warning: Macro %min_kube_minor_version not found
warning: Macro %min_kube_minor_version not found

в changelog нужно писать как %%min_kube_minor_version (экранировать макрос).
Иначе он раскроется в полноценный макрос, который будет написан прямо в changelog
Comment 113 ALexey Kostarev 2024-10-08 21:21:57 MSK
(Ответ для Anton Farygin на комментарий #112)
> Ещё вот тут:
> https://git.altlinux.org/tasks/358357/build/2300/x86_64/srpm.log 
> заметил:
> warning: Macro %min_kube_minor_version not found
> warning: Macro %min_kube_minor_version not found
> 
> в changelog нужно писать как %%min_kube_minor_version (экранировать макрос).
> Иначе он раскроется в полноценный макрос, который будет написан прямо в
> changelog

https://git.altlinux.org/tasks/358357/

Опечатку испрвил
Спасибо за %min_kube_minor - не мог найти место

Для единообразия не стал экранировать %, а удалил
Comment 114 Anton Farygin 2024-10-09 11:39:12 MSK
(In reply to ALexey Kostarev from comment #113)
> Спасибо за %min_kube_minor - не мог найти место
> 
> Для единообразия не стал экранировать %, а удалил


Только об этом не надо делать записи в changelog пакета. Просто коммит с фиксом и всё.

И не надо увеличивать релиз лишний раз, если пакет ещё не был собран в репозиторий.
Comment 115 ALexey Kostarev 2024-10-09 20:38:27 MSK
(Ответ для Anton Farygin на комментарий #114)
> (In reply to ALexey Kostarev from comment #113)
> > Спасибо за %min_kube_minor - не мог найти место
> > 
> > Для единообразия не стал экранировать %, а удалил
> 
> 
> Только об этом не надо делать записи в changelog пакета. Просто коммит с
> фиксом и всё.
> 
> И не надо увеличивать релиз лишний раз, если пакет ещё не был собран в
> репозиторий.

DONE
Comment 116 Anton Farygin 2024-10-10 08:13:24 MSK
я бы, конечно, рекомендовал для этих мелких изменений использовать отдельный git commit без изменения specfile и версии.

Т.е. - просто commit, в котором поправить кривую запись changelog.

Ещё что заинтересовало в specfile, коль мы уж решили дальше работать над его качеством - зачем-то фильтруются зависимости. Когда так делают, то обычно это или ошибка, или непонимание работы алгоритмов поиска зависимостей.
Предлагаю прокомментировать каждый из фильтров.
Comment 117 ALexey Kostarev 2024-10-11 08:54:43 MSK
(Ответ для Anton Farygin на комментарий #116)
> я бы, конечно, рекомендовал для этих мелких изменений использовать отдельный
> git commit без изменения specfile и версии.
> 
> Т.е. - просто commit, в котором поправить кривую запись changelog.
https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=summary

Постарался обеспечить в последних комитах между
1.1.9-alt1, 1.1.10-alt1
Comment 118 ALexey Kostarev 2024-10-11 09:12:58 MSK
(Ответ для Anton Farygin на комментарий #116)

> 
> Ещё что заинтересовало в specfile, коль мы уж решили дальше работать над его
> качеством - зачем-то фильтруются зависимости. Когда так делают, то обычно
> это или ошибка, или непонимание работы алгоритмов поиска зависимостей.
> Предлагаю прокомментировать каждый из фильтров.
https://git.altlinux.org/tasks/358357/

Добавил комментарии
https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=blob;f=podsec.spec;h=87d9d05c5dd51bbc6948c55d769a6ab0dd93fc68;hb=HEAD#l59

Дело в том, что kubernetes достаточно активно развивается
За последние 1.5 года что существует podsec уже вышло 6 минорных версий kubernetes: 1.26, 1.27, 1.28, 1.29, 1.30, 1.31 

В рамках каждой минорной версии 3-10 патчевых

Мы для каждой минорной версии создаем отдельный версионный набор kubernetes-пакетов kubernetes-1.22, kubernetes1.23, .., kubernetes-1.33
См. https://packages.altlinux.org/ru/search/?branch=sisyphus&q=kubernetesВ рамках каждой минорной версии собирается несколько патчевых версий образов

Поэтому нет особого смысла в RPM-пакет добавлять зависимости на последнюю минорную версию kubernetes. Во время установки пакета она может быть намного старше

Поэтому сейчас поддерживается режим, когда последняя версия kubernetes определяется и устанавливается в момент разворачивания кластера podsec-скриптом
kubeadm init ...

в функции installKubeadm
https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=blob;f=podsec-k8s/bin/podsec-u7s-functions;h=5ec158f92068bbca51e89b2a0b15edb399fea7bd;hb=HEAD#l354 

Кроме этого эта функция позволяет устновить версию kubeadm, указанную в переменной U7S_KUBEVERSION

См. https://www.altlinux.org/Rootless_kubernetes#%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8_kubernetes,_%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8_%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D0%B8_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B

Поэтому нет смысла в пакет podsec-k8s добавлять при сборке пакета зависимость от  последней минорной версии kubernetes

В момент разворачивания кластера она может быть другой
Comment 119 Anton Farygin 2024-10-11 10:40:59 MSK
> В момент разворачивания кластера она может быть другой

Ну так отлично, можно не удалять зависимость на /usr/bin/kubeadm, который предоставится одним из:
https://packages.altlinux.org/ru/sisyphus/files/?q=%2Fusr%2Fbin%2Fkubeadm

Т.е. - она универсальная и при установке podsec-k8s вытянется самый свежий пакет с /usr/bin/kubeadm, а если он уже установлен в системе, то ничего не произойдёт.
Comment 120 Anton Farygin 2024-10-11 10:44:53 MSK
И ещё я очень не хочу заглядывать внутрь скриптов, но просто мимо проходя в коммите dbeb9ca9b8cfb4fcd20005fbf7dff9d0048e6d74

Заметил что весь вывод текста идёт на русском языке.
Это ошибка, весь вывод нужно делать по умолчанию на английском и в зависимости от локали переводить на русский через gettext

На мой взгляд ментор должен был рассказать про это при ревью кода.
Comment 121 Anton Farygin 2024-10-11 10:47:25 MSK
(In reply to ALexey Kostarev from comment #117)
> (Ответ для Anton Farygin на комментарий #116)
> > я бы, конечно, рекомендовал для этих мелких изменений использовать отдельный
> > git commit без изменения specfile и версии.
> > 
> > Т.е. - просто commit, в котором поправить кривую запись changelog.
> https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=summary
> 
> Постарался обеспечить в последних комитах между
> 1.1.9-alt1, 1.1.10-alt1

Спасибо, с этим я уже проблем не вижу.
Comment 122 ALexey Kostarev 2024-10-11 11:10:45 MSK
(Ответ для Anton Farygin на комментарий #119)
> > В момент разворачивания кластера она может быть другой
> 
> Ну так отлично, можно не удалять зависимость на /usr/bin/kubeadm, который
> предоставится одним из:
> https://packages.altlinux.org/ru/sisyphus/files/?q=%2Fusr%2Fbin%2Fkubeadm
> 
> Т.е. - она универсальная и при установке podsec-k8s вытянется самый свежий
> пакет с /usr/bin/kubeadm, а если он уже установлен в системе, то ничего не
> произойдёт.

По моему уже пошла вкусовщина :-)
При разворачивании kuber часто необходимо бывает установить 
не последнюю минорную версию
Это необходимо как при тестировании, так и при разворачивании у клиента 
Дело в том, что kuber разрешает только последовательные обновления
То есть, если у клиента стоял kuber-1.26, то он должен последовательно обновиться
1.26 -> 1.27 -> 1.28 -> 1.29 -> 1.30 -> 1.31

Это решается путем установки переменной среды U7S_KUBEVERSION

В этой ситуации произойдет двойная загрузка kuber-пакетов
- последней при apt-get install
- указанной при kubeadm init/join на каждом из 6-ти шагов перечесленных выше на каждом из многочисленных узлов кластера (десятки, сотни)

kuber-пакеты не маленькие
Время на загрузку-перезагрузку уходит приличное

Зачем при 
apt-get install podsec-k8s
ставить последнюю версию kuber, если далее (при обновлении со старых версий) ее придется заменять на другую на многочисленных узлах кластера?
Это только вызовет раздражение у клиента и ничего более...

Я смысла не вижу...
Comment 123 ALexey Kostarev 2024-10-11 11:16:52 MSK
(Ответ для ALexey Kostarev на комментарий #122)
> (Ответ для Anton Farygin на комментарий #119)
> > > В момент разворачивания кластера она может быть другой
> > 
> > Ну так отлично, можно не удалять зависимость на /usr/bin/kubeadm, который
> > предоставится одним из:
> > https://packages.altlinux.org/ru/sisyphus/files/?q=%2Fusr%2Fbin%2Fkubeadm
> > 
> > Т.е. - она универсальная и при установке podsec-k8s вытянется самый свежий
> > пакет с /usr/bin/kubeadm, а если он уже установлен в системе, то ничего не
> > произойдёт.
> 
> По моему уже пошла вкусовщина :-)
> При разворачивании kuber часто необходимо бывает установить 
> не последнюю минорную версию
> Это необходимо как при тестировании, так и при разворачивании у клиента 
> Дело в том, что kuber разрешает только последовательные обновления
> То есть, если у клиента стоял kuber-1.26, то он должен последовательно
> обновиться
> 1.26 -> 1.27 -> 1.28 -> 1.29 -> 1.30 -> 1.31
> 
> Это решается путем установки переменной среды U7S_KUBEVERSION
> 
> В этой ситуации произойдет двойная загрузка kuber-пакетов
> - последней при apt-get install
> - указанной при kubeadm init/join на каждом из 6-ти шагов перечесленных выше
> на каждом из многочисленных узлов кластера (десятки, сотни)
> 
> kuber-пакеты не маленькие
> Время на загрузку-перезагрузку уходит приличное
> 
> Зачем при 
> apt-get install podsec-k8s
> ставить последнюю версию kuber, если далее (при обновлении со старых версий)
> ее придется заменять на другую на многочисленных узлах кластера?
> Это только вызовет раздражение у клиента и ничего более...
> 
> Я смысла не вижу...

Тем более при установке последней версии при
apt-get install podsec-k8s
могут установиться файлы конфигурации которые не нужны в предыдущих версиях
При установке предыдущих может возникнуть какие-то конфликты с ними
Зачем себе и администратору создавать эти проблемы, которых могло бы не быть при последовательном обновлении с установленной у клиента версии, когда и других проблем достаточно?

Чтобы мучались? :-)
Comment 124 ALexey Kostarev 2024-10-11 11:21:39 MSK
(Ответ для Anton Farygin на комментарий #120)
> И ещё я очень не хочу заглядывать внутрь скриптов, но просто мимо проходя в
> коммите dbeb9ca9b8cfb4fcd20005fbf7dff9d0048e6d74
> 
> Заметил что весь вывод текста идёт на русском языке.
> Это ошибка, весь вывод нужно делать по умолчанию на английском и в
> зависимости от локали переводить на русский через gettext
> 
> На мой взгляд ментор должен был рассказать про это при ревью кода.

Причину я уже объяснял выше
Если бы не успели к указанному сроку этого пакеты не было вообще - за ненадобностью

Замечание принимаю
Но исправление займет немало времени
Сейчас вроде проблем с версии 1.1.8-alt3 для сертификации нет
Надеюсь не будет и на дало будет удалять временно таск  из сизифа
Comment 125 Anton Farygin 2024-10-11 11:23:56 MSK
(In reply to ALexey Kostarev from comment #122)

> По моему уже пошла вкусовщина :-)
> При разворачивании kuber часто необходимо бывает установить 
> не последнюю минорную версию
> Это необходимо как при тестировании, так и при разворачивании у клиента 
> Дело в том, что kuber разрешает только последовательные обновления
> То есть, если у клиента стоял kuber-1.26, то он должен последовательно
> обновиться
> 1.26 -> 1.27 -> 1.28 -> 1.29 -> 1.30 -> 1.31
> 
> Это решается путем установки переменной среды U7S_KUBEVERSION
> 
> В этой ситуации произойдет двойная загрузка kuber-пакетов
> - последней при apt-get install
> - указанной при kubeadm init/join на каждом из 6-ти шагов перечесленных выше
> на каждом из многочисленных узлов кластера (десятки, сотни)
> 
> kuber-пакеты не маленькие
> Время на загрузку-перезагрузку уходит приличное
> 
> Зачем при 
> apt-get install podsec-k8s
> ставить последнюю версию kuber, если далее (при обновлении со старых версий)
> ее придется заменять на другую на многочисленных узлах кластера?
> Это только вызовет раздражение у клиента и ничего более...
> 
> Я смысла не вижу...

Да вообще без проблем. В коде замаскируйте вызов утилит через переменную и не надо будет чистить зависимости.
Comment 126 ALexey Kostarev 2024-10-11 11:33:08 MSK
> Тем более при установке последней версии при
> apt-get install podsec-k8s
> могут установиться файлы конфигурации которые не нужны в предыдущих версиях
> При установке предыдущих может возникнуть какие-то конфликты с ними
> Зачем себе и администратору создавать эти проблемы, которых могло бы не быть
> при последовательном обновлении с установленной у клиента версии, когда и
> других проблем достаточно?
> 
> Чтобы мучались? :-)
Да и последний как мне кажется неоспоримый аргумент

Если у клиента стоит kuber 1.26 - 1.29, а он при обновлении автоматически по зависимостям  поставит 1.31 (перескок как минимум через 1.30), то данный узел кластера гарантированно ляжет и вряд ли его можно будет после этого вернуть в кластер

Только путем полной переустановки системы 
И то же факт
Comment 127 Anton Farygin 2024-10-11 11:34:22 MSK
(In reply to ALexey Kostarev from comment #126)
> > Тем более при установке последней версии при
> > apt-get install podsec-k8s
> > могут установиться файлы конфигурации которые не нужны в предыдущих версиях
> > При установке предыдущих может возникнуть какие-то конфликты с ними
> > Зачем себе и администратору создавать эти проблемы, которых могло бы не быть
> > при последовательном обновлении с установленной у клиента версии, когда и
> > других проблем достаточно?
> > 
> > Чтобы мучались? :-)
> Да и последний как мне кажется неоспоримый аргумент
> 
> Если у клиента стоит kuber 1.26 - 1.29, а он при обновлении автоматически по
> зависимостям  поставит 1.31 (перескок как минимум через 1.30), то данный
> узел кластера гарантированно ляжет и вряд ли его можно будет после этого
> вернуть в кластер
> 
> Только путем полной переустановки системы 
> И то же факт

Откуда информация о том, что наличие зависимости на /usr/bin/kubeadm притащит самый свежий kubernetes при наличии одинаковых provides ?
Comment 128 ALexey Kostarev 2024-10-11 14:19:54 MSK
(Ответ для Anton Farygin на комментарий #125)

> > 
> > Я смысла не вижу...
> 
> Да вообще без проблем. В коде замаскируйте вызов утилит через переменную и
> не надо будет чистить зависимости.
Нет конечно вариант для того, чтобы майнтейнер на заметил :-)

Но не совсем понятно зачем запрещать использовать какие то rpm-spec-операторы которые вроде как предназначены для решения возникающих проблем

Подумаю...
Comment 129 ALexey Kostarev 2024-10-11 14:22:07 MSK
(Ответ для Anton Farygin на комментарий #127)

> Откуда информация о том, что наличие зависимости на /usr/bin/kubeadm
> притащит самый свежий kubernetes при наличии одинаковых provides ?

Ну пока притаскивал самый свежий
Но проблеме не в том, чтобы притащить свежий
Проблема в том, чтобы вообще не притаскивал
Comment 130 Anton Farygin 2024-10-11 14:22:30 MSK
Ну наверное потому что эти макросы бьют из пушки и прячут все зависимости на данные бинарники
Comment 131 Anton Farygin 2024-10-11 14:23:07 MSK
(In reply to ALexey Kostarev from comment #129)
> (Ответ для Anton Farygin на комментарий #127)
> 
> > Откуда информация о том, что наличие зависимости на /usr/bin/kubeadm
> > притащит самый свежий kubernetes при наличии одинаковых provides ?
> 
> Ну пока притаскивал самый свежий
> Но проблеме не в том, чтобы притащить свежий
> Проблема в том, чтобы вообще не притаскивал

Самый свежий притаскивает только тогда, когда ничего другого не установлено.
Comment 132 ALexey Kostarev 2024-10-11 14:29:07 MSK
(Ответ для ALexey Kostarev на комментарий #128)
> (Ответ для Anton Farygin на комментарий #125)
> 
> > > 
> > > Я смысла не вижу...
> > 
> > Да вообще без проблем. В коде замаскируйте вызов утилит через переменную и
> > не надо будет чистить зависимости.
> Нет конечно вариант для того, чтобы майнтейнер на заметил :-)
> 
> Но не совсем понятно зачем запрещать использовать какие то
> rpm-spec-операторы которые вроде как предназначены для решения возникающих
> проблем
> 
> Подумаю...

В замене переменной есть думаю ньюанс
Алгоритм по которому hasher добавляет зависимости по контексу исходного кода мне неизвестен и нет никакой гарантии, что hasher вытащит зависимость из значениея переменной

В общем на эти эксперементы может уйти куча времени и в итоге напороться на замечания другого майнтейнера нафига такие выкрутасы реализованы.

Как то у меня ослабленная мотивация на реализацию этого подхода...
Comment 133 Anton Farygin 2024-10-11 14:31:10 MSK
Нет нюансов. Посоветуйтесь с вашим ментором.
Comment 134 ALexey Kostarev 2024-10-11 15:29:17 MSK
(Ответ для Anton Farygin на комментарий #133)
> Нет нюансов. Посоветуйтесь с вашим ментором.

Если мне не изменят память именно Алексей Шабалин предложил этот ( %filter_from_requires) выход из возникшей ситуации 

OK
Внимательно еще раз продумаю
Тем более пока мы еще не отлаживали и не документировали механизм upgrade с версии на версию

По итогам примем решение...
Comment 135 ALexey Kostarev 2024-10-16 07:30:22 MSK
(Ответ для Anton Farygin на комментарий #120)
> И ещё я очень не хочу заглядывать внутрь скриптов, но просто мимо проходя в
> коммите dbeb9ca9b8cfb4fcd20005fbf7dff9d0048e6d74
> 
> Заметил что весь вывод текста идёт на русском языке.
> Это ошибка, весь вывод нужно делать по умолчанию на английском и в
> зависимости от локали переводить на русский через gettext
> 
Доброе утро
https://git.altlinux.org/tasks/358357/
Локализовал скрипты
Добавил зависимости от kubernetes-пакетов
Comment 136 Anton Farygin 2024-10-16 08:35:57 MSK
В последнем коммите Makefile случайно попал, его надо в отдельный (или в предыдущие) перенести.
Comment 137 ALexey Kostarev 2024-10-16 09:06:43 MSK
(Ответ для Anton Farygin на комментарий #136)
> В последнем коммите Makefile случайно попал, его надо в отдельный (или в
> предыдущие) перенести.

https://git.altlinux.org/tasks/358357/
DONE
Comment 138 Anton Farygin 2024-10-16 10:40:39 MSK
Ещё заметил (раньше на это не посмотрел) - локализованные man страницы должны лежать в другом каталоге.

А у вас все страницы на русском языке. Надо:
1) добавить man на английском
2) переложить страницы на русском в другой каталог

Если сложно писать страницы на английском, то можно просто переложить существующие в другой каталог.
Comment 139 ALexey Kostarev 2024-10-16 11:25:28 MSK
(Ответ для Anton Farygin на комментарий #138)
> Ещё заметил (раньше на это не посмотрел) - локализованные man страницы
> должны лежать в другом каталоге.
> 
> А у вас все страницы на русском языке. Надо:
> 1) добавить man на английском
> 2) переложить страницы на русском в другой каталог
> 
> Если сложно писать страницы на английском, то можно просто переложить
> существующие в другой каталог.

Постараюсь первести
Доводить до ума, так доводить

Вопрос
Я формирую man'ы из MD-файлов
Напр https://git.altlinux.org/people/kaf/packages/?p=podsec.git;a=blob;f=podsec/md/podsec-create-imagemakeruser.md;h=6708c8a47fa651aaecb19cedb07a7094c129c00c;hb=HEAD
конвертируя с помощью ronn в man'ы
Перевод я тоже буду делать в в MD-фйалах

Есть ли смысл включить MD-файлы в rpm-пакеты и если да где их размещать в файловой системе?
Comment 140 Anton Farygin 2024-10-16 11:56:18 MSK
если MD файлы исходники, то зачем ? Но лучше с ментором обсудить.
Comment 141 Grigory Ustinov 2024-10-16 15:08:48 MSK
Я мельком глянул, что тут происходит, рецензент рецензирует хорошо, надеюсь использование тэгов Requires ещё обсудите.

Что рецензент может не заметить, так это использование команды rm в спеке. Не знаю записано у нас это где-то или нет, но лучше вместо флага -f использовать флаг -v. Я в своей практике утомился вычищать мусорные удаления из спеков. К тому же с флагом -v и лог сборки становится более информативным.
Comment 142 ALexey Kostarev 2024-10-17 08:23:41 MSK
(Ответ для Anton Farygin на комментарий #138)
> Ещё заметил (раньше на это не посмотрел) - локализованные man страницы
> должны лежать в другом каталоге.
> 

Доброе утро
> Если сложно писать страницы на английском, то можно просто переложить
> существующие в другой каталог.
После вытаскивая текста комитов за полтора года из git, 
перевода их на английский и приведения к стандартному виду
перевод man'ов на английский существенно более простая задача :-)

> А у вас все страницы на русском языке. Надо:
> 1) добавить man на английском
> 2) переложить страницы на русском в другой каталог
> 
Сделано
https://git.altlinux.org/tasks/358357/
 
Так как podsec прошел довольно глубокую локализацию, изменения прав доступа к файлам и потребует довольно глубокого тестирования на предмет наличия регрессий, то решил перейти на новую минорную версию 1.2
Comment 143 ALexey Kostarev 2024-10-17 08:24:30 MSK
(Ответ для Grigory Ustinov на комментарий #141)
> Я мельком глянул, что тут происходит, рецензент рецензирует хорошо, надеюсь
> использование тэгов Requires ещё обсудите.
> 
> Что рецензент может не заметить, так это использование команды rm в спеке.
> Не знаю записано у нас это где-то или нет, но лучше вместо флага -f
> использовать флаг -v. Я в своей практике утомился вычищать мусорные удаления
> из спеков. К тому же с флагом -v и лог сборки становится более информативным.

Доброе утро
Спасибо
Флаг добавил...
Comment 144 Anton Farygin 2024-10-17 08:42:08 MSK
(In reply to ALexey Kostarev from comment #142)
> (Ответ для Anton Farygin на комментарий #138)
> > Ещё заметил (раньше на это не посмотрел) - локализованные man страницы
> > должны лежать в другом каталоге.
> > 
> 
> Доброе утро
> > Если сложно писать страницы на английском, то можно просто переложить
> > существующие в другой каталог.
> После вытаскивая текста комитов за полтора года из git, 
> перевода их на английский и приведения к стандартному виду
> перевод man'ов на английский существенно более простая задача :-)
> 
> > А у вас все страницы на русском языке. Надо:
> > 1) добавить man на английском
> > 2) переложить страницы на русском в другой каталог
> > 
> Сделано
> https://git.altlinux.org/tasks/358357/
>  
> Так как podsec прошел довольно глубокую локализацию, изменения прав доступа
> к файлам и потребует довольно глубокого тестирования на предмет наличия
> регрессий, то решил перейти на новую минорную версию 1.2

Спасибо. Выглядит неплохо.
Comment 145 Anton Farygin 2024-10-17 08:46:01 MSK
(In reply to Grigory Ustinov from comment #141)
> Я мельком глянул, что тут происходит, рецензент рецензирует хорошо, надеюсь
> использование тэгов Requires ещё обсудите.
> 
> Что рецензент может не заметить, так это использование команды rm в спеке.
> Не знаю записано у нас это где-то или нет, но лучше вместо флага -f
> использовать флаг -v. Я в своей практике утомился вычищать мусорные удаления
> из спеков. К тому же с флагом -v и лог сборки становится более информативным.

Да, у нас нет нигде правил написания удаления. Это просто совет от более опытного ментейнера.

Наверное его стоит где-то зафиксировать на www.altlinux.org

Что касается зависимостей - я сразу заметил перегруженность по requires, но пока не задавался вопросом - зачем.

Предлагаю начать с полного удаления всех зависимостей из requires, за исключением проверенных и межпакетных.

Например, Requires: sh - явно не нужен, у нас автопоиск зависимостей отлично находит sh.

И т.д. - в спекфайле нужно оставить только те зависимости, которые автоматический поиск не нашёл.

Привязка к версиям тоже выглядит довольно странно - например nginx указан 
Requires: nginx >= 1.22.1
но я уверен что с более младшими версиями nginx проблем не будет.
Comment 146 Anton Farygin 2024-10-17 08:47:41 MSK
(In reply to Anton Farygin from comment #144)
> (In reply to ALexey Kostarev from comment #142)
> > (Ответ для Anton Farygin на комментарий #138)
> > > Ещё заметил (раньше на это не посмотрел) - локализованные man страницы
> > > должны лежать в другом каталоге.
> > > 
> > 
> > Доброе утро
> > > Если сложно писать страницы на английском, то можно просто переложить
> > > существующие в другой каталог.
> > После вытаскивая текста комитов за полтора года из git, 
> > перевода их на английский и приведения к стандартному виду
> > перевод man'ов на английский существенно более простая задача :-)
> > 
> > > А у вас все страницы на русском языке. Надо:
> > > 1) добавить man на английском
> > > 2) переложить страницы на русском в другой каталог
> > > 
> > Сделано
> > https://git.altlinux.org/tasks/358357/
> >  
> > Так как podsec прошел довольно глубокую локализацию, изменения прав доступа
> > к файлам и потребует довольно глубокого тестирования на предмет наличия
> > регрессий, то решил перейти на новую минорную версию 1.2
> 
> Спасибо. Выглядит неплохо.

Но если уж делать совсем хорошо, то генерацию man страниц стоит сделать во время сборки пакета (в Makefile, например), а из дерева сгенерённые man убрать.
Comment 147 ALexey Kostarev 2024-10-17 10:39:43 MSK
> 
> Но если уж делать совсем хорошо, то генерацию man страниц стоит сделать во
> время сборки пакета (в Makefile, например), а из дерева сгенерённые man
> убрать.
https://git.altlinux.org/tasks/358357/
Удалили из дерева man-файлы
Перенес генерацию из md-файлов в Makefile

Так как нового функционала не добавилось, то решил не увеличивать
Release
увеличив
Version
до alt2
Comment 148 Anton Farygin 2024-10-17 14:24:19 MSK
(In reply to ALexey Kostarev from comment #147)
> > 
> > Но если уж делать совсем хорошо, то генерацию man страниц стоит сделать во
> > время сборки пакета (в Makefile, например), а из дерева сгенерённые man
> > убрать.
> https://git.altlinux.org/tasks/358357/
> Удалили из дерева man-файлы
> Перенес генерацию из md-файлов в Makefile
> 
> Так как нового функционала не добавилось, то решил не увеличивать
> Release
> увеличив
> Version
> до alt2

Только наоборот. Надо было увеличить Version до 1.2.1 а release оставить alt1
Comment 149 Anton Farygin 2024-10-17 14:26:21 MSK
Ещё раз повторю правило версионирования и рекомендую прямо записать его в README проекта:
при изменении исходного кода - увеличиваем version
при изменении только specfile - увеличиваем release

Поменялся код и спек - увеличиваем version и сбрасываем release на alt1
поменялся только спек - увеличиваем release на 1
Comment 150 ALexey Kostarev 2024-10-18 10:25:53 MSK
(Ответ для Anton Farygin на комментарий #148)
> (In reply to ALexey Kostarev from comment #147)
> > > 
> > > Но если уж делать совсем хорошо, то генерацию man страниц стоит сделать во
> > > время сборки пакета (в Makefile, например), а из дерева сгенерённые man
> > > убрать.
> > https://git.altlinux.org/tasks/358357/
> > Удалили из дерева man-файлы
> > Перенес генерацию из md-файлов в Makefile
> > 
> > Так как нового функционала не добавилось, то решил не увеличивать
> > Release
> > увеличив
> > Version
> > до alt2
> 
> Только наоборот. Надо было увеличить Version до 1.2.1 а release оставить alt1

https://git.altlinux.org/tasks/358357/

Сейчас снова необходимо внести изменения в ветку платформы c10f2 (обнаружены баги)
Я попросил у Дениса Медведева инструкцию как это сделать в текущей ситуации (ветки к сожалению расходятся), но пока пока ответа не получил
Как потом сливать ветки (через git rebase?) тоже вопрос

Так что немного "подвешен" в текущей ситуации
Comment 151 Anton Farygin 2024-10-18 13:44:45 MSK
Не вижу изменений с Requires.
Comment 152 ALexey Kostarev 2024-10-18 13:48:04 MSK
(Ответ для Anton Farygin на комментарий #151)
> Не вижу изменений с Requires.

Как это?
https://git.altlinux.org/tasks/358357/gears/4100/git?p=git;a=blob;f=podsec.spec;h=b7eeb12c72a7a481a56107ea21406f3b38201746;hb=HEAD#l60
Requires: kubernetes-kubeadm
Requires: kubernetes-client
Requires: kubernetes-kubelet
Comment 153 Anton Farygin 2024-10-18 13:52:35 MSK
(In reply to ALexey Kostarev from comment #152)
> (Ответ для Anton Farygin на комментарий #151)
> > Не вижу изменений с Requires.
> 
> Как это?
> https://git.altlinux.org/tasks/358357/gears/4100/git?p=git;a=blob;f=podsec.
> spec;h=b7eeb12c72a7a481a56107ea21406f3b38201746;hb=HEAD#l60
> Requires: kubernetes-kubeadm
> Requires: kubernetes-client
> Requires: kubernetes-kubelet

из 145  комментария в этом issue
Comment 154 ALexey Kostarev 2024-10-18 14:15:32 MSK
(Ответ для Anton Farygin на комментарий #153)
> (In reply to ALexey Kostarev from comment #152)
> > (Ответ для Anton Farygin на комментарий #151)
> > > Не вижу изменений с Requires.
> > 
> > Как это?
> > https://git.altlinux.org/tasks/358357/gears/4100/git?p=git;a=blob;f=podsec.
> > spec;h=b7eeb12c72a7a481a56107ea21406f3b38201746;hb=HEAD#l60
> > Requires: kubernetes-kubeadm
> > Requires: kubernetes-client
> > Requires: kubernetes-kubelet
> 
> из 145  комментария в этом issue

OK

Тут есть вопрос
При автоматическом поиске вставляется зависимость от последний версий пакетов
что по мне не есть хорошо
 
Я бы оставил зависимости с ограниченими версий package>=version и >= %EVR
Comment 155 Anton Farygin 2024-10-18 14:44:15 MSK
при автоматичкеском поиске версии вообще никакие не проставляются.
обсудите это, пожалуйста, со своим ментором.
Comment 156 ALexey Kostarev 2024-10-18 16:00:28 MSK
(Ответ для Anton Farygin на комментарий #155)
> при автоматичкеском поиске версии вообще никакие не проставляются.
> обсудите это, пожалуйста, со своим ментором.

https://git.altlinux.org/tasks/358357/

Убрал Requires без указания версий

Алексей Шабалин сейчас на встрече - оперативно ответить не может

Договорились, что в выходные примет окончательное решение

Но чтобы процесс не простаивал выложу пока этот вариант
Comment 157 Anton Farygin 2024-10-18 19:31:14 MSK
https://git.altlinux.org/tasks/358357/gears/4200/git?p=git;a=commitdiff;h=b217cba37bf65a7713cce41f7de5bd27388fed17
тут ошибка в содержимом коммита
Comment 158 Anton Farygin 2024-10-18 19:31:48 MSK
там вообще в коммитах ошибки. Как приведёте в порядок - напишите.
Comment 159 ALexey Kostarev 2024-10-22 13:18:16 MSK
(Ответ для Anton Farygin на комментарий #155)
> при автоматичкеском поиске версии вообще никакие не проставляются.
> обсудите это, пожалуйста, со своим ментором.

Обсудили вчера с Алексеем Шабалиным

1. За счет добавления 
defattr
упорядочил каталоги и файлы с разными правами доступа

2. Оставил только те Requires, которые не добавляются при автоматическом сканировании зависимостей

https://git.altlinux.org/tasks/358357/
Comment 160 Anton Farygin 2024-10-24 09:09:20 MSK
(In reply to ALexey Kostarev from comment #159)
> (Ответ для Anton Farygin на комментарий #155)
> > при автоматичкеском поиске версии вообще никакие не проставляются.
> > обсудите это, пожалуйста, со своим ментором.
> 
> Обсудили вчера с Алексеем Шабалиным
> 
> 1. За счет добавления 
> defattr
> упорядочил каталоги и файлы с разными правами доступа
> 
> 2. Оставил только те Requires, которые не добавляются при автоматическом
> сканировании зависимостей
> 
> https://git.altlinux.org/tasks/358357/

Всё очень неплохо, надо только убрать лишнюю пустую строчку в changelog в последнем коммите (переписав сам коммит) и можно будет коммитить в репозиторий.
Comment 161 ALexey Kostarev 2024-10-24 14:50:07 MSK
(Ответ для ALexey Kostarev на комментарий #159)
> (Ответ для Anton Farygin на комментарий #155)
> > при автоматичкеском поиске версии вообще никакие не проставляются.
> > обсудите это, пожалуйста, со своим ментором.
> 
> Обсудили вчера с Алексеем Шабалиным
> 
> 1. За счет добавления 
> defattr
> упорядочил каталоги и файлы с разными правами доступа
> 
> 2. Оставил только те Requires, которые не добавляются при автоматическом
> сканировании зависимостей
> 
> https://git.altlinux.org/tasks/358357/

Добрый день
Поправил
Comment 162 Anton Farygin 2024-10-24 15:17:20 MSK
Заапрувил, спасибо. Можно коммитить и отправлять в стабильные ветки.
Comment 163 ALexey Kostarev 2024-10-24 15:29:42 MSK
(Ответ для Anton Farygin на комментарий #162)
> Заапрувил, спасибо. Можно коммитить и отправлять в стабильные ветки.

Спасибо
Отличный подарок на мой день рождения!
Comment 164 ALexey Kostarev 2024-10-25 15:07:12 MSK
(Ответ для ALexey Kostarev на комментарий #163)
> (Ответ для Anton Farygin на комментарий #162)
> > Заапрувил, спасибо. Можно коммитить и отправлять в стабильные ветки.
> 
> Спасибо
> Отличный подарок на мой день рождения!

Добрый день коллеги

podsec 1.2.2-alt1 дошел до  sisyphus
https://packages.altlinux.org/ru/sisyphus/srpms/podsec/

Теперь у меня вопрос по Чернышевскому
"Что делать?" (дальще)

Какой мой текущий статус?
Какие еще телодвижения с моей стороны требуются для завершения JOIN?

Мне бы довести до sisyphus пакеты

- flux2 - https://git.altlinux.org/people/kaf/packages/?p=flux2.git;a=summary https://git.altlinux.org/tasks/355139/logs/events.2.1.log

- podman-compose-to-kube - https://git.altlinux.org/people/kaf/packages/?p=podman-compose-to-kube.git;a=summary

По последнему буквально вчера появился запрос со стороны Чернобривченко Елена Васильевна (chernobrivchenkoev@basealt.ru) 

Также судя по всему согласно последним разговорам появится необходимость портировать в ALT kompose - https://github.com/kubernetes/kompose
Comment 165 Alexey Shabalin 2024-10-25 15:22:31 MSK
Все хотел написать раньше, но что-то останавливало :)
Алексей, не надо из багзилы устаивать чатик. Не надо тут писать что кто-то недоступен, в командировке, на встрече, и т.п. Никому это не интересно.
Не надо указывать какие-то другие производственные причины и требование. Не важно где Вы работаете.
Join про другое. Давайте тут описывать и рассматривать исключительно технические вопросы.

По делу.
В каком виде отправлять в стабильные бранчи пакет podsec, решать исключительно Вам. Будете ли вы сопровождать несколько веток в git или нет, тоже решать Вам.
Если текущую версию из сизифа можно один-в-один отправить в стабильные бранчи, то сделайте такое задание. Обойти наследование истории я подскажу как.
Comment 166 Alexey Shabalin 2024-10-25 15:23:25 MSK
И еще, отправка пакетов в стабильные бранчи, никак не касается процедуры Join.
Comment 167 Anton Farygin 2024-10-28 10:22:21 MSK
Что касается завершения JOIN - мы исправили (с большим трудом, на мой взгляд) один пакет. Я вижу колоссальную недоработку со стороны ментора и это надо исправлять.

https://git.altlinux.org/people/kaf/packages/?p=flux2.git;a=blob;f=flux2.spec;h=8423dd64e86eecc3dec00670afa8f94e9e9b5289;hb=ec48bb36e33f1a935c09bb30bbe647ec63a6c6fd

Вот тут:
1) spec файл лучше перенести в .gear - так будет проще в дальнейшем переезжать на другую апстримную ветку
2) первая запись в changelog рекомендуется другая
3) не включены тесты
Comment 168 Anton Farygin 2024-10-28 10:24:04 MSK
https://git.altlinux.org/people/kaf/packages/?p=podman-compose-to-kube.git;a=commitdiff;h=3e7fce88c4699be46ea1a4bed14de70411420b42 - тут опять содержимое изменений не полностью соответствует тексту в message
Comment 169 Anton Farygin 2024-10-28 10:25:20 MSK
https://git.altlinux.org/people/kaf/packages/?p=podman-compose-to-kube.git;a=commitdiff;h=4c918dc8fb28c5d9ae62aac22ab48344547022f7 тут тоже самое, плюс тарболл лучше делать из апстримного тэга и прикладывать альтовый патч, что бы было явно видно ваши изменения.
Comment 170 Alexey Shabalin 2024-10-30 01:26:38 MSK
(In reply to Anton Farygin from comment #167)
 
> Вот тут:
> 1) spec файл лучше перенести в .gear - так будет проще в дальнейшем
> переезжать на другую апстримную ветку

Нет, не лучше. Пусть остается в корне. Но давай об этом не будем спорить. Это абсолютно не важно при сборке этого пакета.

> 2) первая запись в changelog рекомендуется другая

Согласен. И тоже устал на это указывать.

> 3) не включены тесты

И не должны. Они для работы требуют выхода в Интернет.
Comment 171 ALexey Kostarev 2024-10-30 09:08:53 MSK
Доброе утро!

(Ответ для Alexey Shabalin на комментарий #170)
> (In reply to Anton Farygin from comment #167)
>  
> > Вот тут:
> > 1) spec файл лучше перенести в .gear - так будет проще в дальнейшем
> > переезжать на другую апстримную ветку
> 
> Нет, не лучше. Пусть остается в корне. Но давай об этом не будем спорить.
> Это абсолютно не важно при сборке этого пакета.
Я к этому моменту уже перенес
Так что в этом пакете оставлю его в .gear/flux2.spec
Конфликт, насколько я помню, у меня был тогда, когда я работал с пакетом patroni
и в нем уже был в корне файл patroni.spec, принадлежащий самому проекту patroni

В состав flux2 входят еще 6-ть пакетов-контроллеров - см https://git.altlinux.org/tasks/355139/

Тут как скажете 
Но, думаю, после Approve пакета flux2,  
чтобы удовлетворить самые строгие требования перенесу в них файлы *.spec в .gear

> 
> > 2) первая запись в changelog рекомендуется другая
> 
> Согласен. И тоже устал на это указывать.
Этот chanhelog был сделан еще ДО подробной работа с пакетами podsec
Посмотрите 
https://git.altlinux.org/tasks/361134/
Все ли я учел
Comment 172 Anton Farygin 2024-10-30 09:32:15 MSK
(In reply to ALexey Kostarev from comment #171)
> Доброе утро!
> 
> (Ответ для Alexey Shabalin на комментарий #170)
> > (In reply to Anton Farygin from comment #167)
> >  
> > > Вот тут:
> > > 1) spec файл лучше перенести в .gear - так будет проще в дальнейшем
> > > переезжать на другую апстримную ветку
> > 
> > Нет, не лучше. Пусть остается в корне. Но давай об этом не будем спорить.
> > Это абсолютно не важно при сборке этого пакета.
> Я к этому моменту уже перенес
> Так что в этом пакете оставлю его в .gear/flux2.spec
> Конфликт, насколько я помню, у меня был тогда, когда я работал с пакетом
> patroni
> и в нем уже был в корне файл patroni.spec, принадлежащий самому проекту
> patroni

Спасибо. В дальнейшем тоже лучше размещать в .gear, это облегчает переезд с ветки на ветку - достаточно перетащить содержимое .gear что бы перетащить всё, имеющее отношение к altlinux


> 
> В состав flux2 входят еще 6-ть пакетов-контроллеров - см
> https://git.altlinux.org/tasks/355139/
> 
> Тут как скажете 
> Но, думаю, после Approve пакета flux2,  
> чтобы удовлетворить самые строгие требования перенесу в них файлы *.spec в
> .gear

Да, лучше сразу сделать. Необходимость размещения всего, что имеет отношение к альту в .gear выработалась годами.


> 
> > 
> > > 2) первая запись в changelog рекомендуется другая
> > 
> > Согласен. И тоже устал на это указывать.
> Этот chanhelog был сделан еще ДО подробной работа с пакетами podsec
> Посмотрите 
> https://git.altlinux.org/tasks/361134/
> Все ли я учел

Точки в %changelog пакета указаны не во всех записях.
Остальное всё нормально.
Comment 173 ALexey Kostarev 2024-10-30 10:15:52 MSK
(Ответ для Anton Farygin на комментарий #172)
...
> Точки в %changelog пакета указаны не во всех записях.
> Остальное всё нормально.
Исправил
https://git.altlinux.org/tasks/361134/
Comment 174 Anton Farygin 2024-10-31 09:19:07 MSK
(In reply to ALexey Kostarev from comment #173)
> (Ответ для Anton Farygin на комментарий #172)
> ...
> > Точки в %changelog пакета указаны не во всех записях.
> > Остальное всё нормально.
> Исправил
> https://git.altlinux.org/tasks/361134/

task not found
Comment 175 ALexey Kostarev 2024-10-31 09:54:41 MSK
(Ответ для Anton Farygin на комментарий #174)
> (In reply to ALexey Kostarev from comment #173)
> > (Ответ для Anton Farygin на комментарий #172)
> > ...
> > > Точки в %changelog пакета указаны не во всех записях.
> > > Остальное всё нормально.
> > Исправил
> > https://git.altlinux.org/tasks/361134/
> 
> task not found

Добрый день
Я сейчас пересобираю все 8 пакетов входящих в flux2
https://git.altlinux.org/tasks/361226/

Есть еще недоработки - пустые строки в конце changelog

Сегодня как только исправлю - сообщу
Comment 176 ALexey Kostarev 2024-10-31 12:41:25 MSK
(Ответ для Anton Farygin на комментарий #174)
> (In reply to ALexey Kostarev from comment #173)
> > (Ответ для Anton Farygin на комментарий #172)
> > ...
> > > Точки в %changelog пакета указаны не во всех записях.
> > > Остальное всё нормально.
> > Исправил
> > https://git.altlinux.org/tasks/361134/
> 
> task not found

Собрал до уровня EPERM набор пакетов для flux2
https://git.altlinux.org/tasks/361256/

flux2, kustomize - команды HOST-системы
остальные используются для сборки соответствующих docker-образов

См. мою документацию на Вики
https://www.altlinux.org/Flux2
Comment 177 Anton Farygin 2024-10-31 16:56:36 MSK
+%changelog
+* Thu Oct 31 2024 Alexey Kostarev <kaf@altlinux.org> 1.0.1-alt1
+- Initial build.
+- Added vendor modules.

А Added vendor modules зачем в changelog ? разве без них можно собрать ?
Comment 178 ALexey Kostarev 2024-10-31 17:01:21 MSK
(Ответ для Anton Farygin на комментарий #177)
> +%changelog
> +* Thu Oct 31 2024 Alexey Kostarev <kaf@altlinux.org> 1.0.1-alt1
> +- Initial build.
> +- Added vendor modules.
> 
> А Added vendor modules зачем в changelog ? разве без них можно собрать ?

Как я понял
мы вроде как в changelog включаем текст основных промежуточных комитов
Я исходил из этого принципа

Если для 1-го changlog это не работает, то удалю
Comment 179 Grigory Ustinov 2024-10-31 17:39:19 MSK
(Ответ для ALexey Kostarev на комментарий #178)
> Как я понял
> мы вроде как в changelog включаем текст основных промежуточных комитов
> Я исходил из этого принципа

Коммиты для разработчиков, ченджлог больше для людей. Это то куда смотрит "пользователь" в первую очередь. То есть в первую очередь в ченджлоге пишется что-то значимое для пользователя. Обновили, убрали сервис, добавили десктоп-файл и прочее. Если ничего значимого не произошло, например отрефакторили спек, то приходится писать это, чтобы пользователь обновив пакет не ломал голову над тем, почему пакет обновился, а функционал нет. Общая логика такая.
Comment 180 ALexey Kostarev 2024-10-31 19:43:00 MSK
(Ответ для Anton Farygin на комментарий #177)
> +%changelog
> +* Thu Oct 31 2024 Alexey Kostarev <kaf@altlinux.org> 1.0.1-alt1
> +- Initial build.
> +- Added vendor modules.
> 
> А Added vendor modules зачем в changelog ? разве без них можно собрать ?
Исправлено
https://git.altlinux.org/tasks/361320/
Comment 181 Anton Farygin 2024-11-01 08:52:28 MSK
Пустая строка вставлена не в том месте (две в одном, ноль в другом)

+BuildRequires: /proc
+
+
+%description
+This controller automates updates to YAML
+when new container images are available.
+%prep
+%setup
Comment 182 Anton Farygin 2024-11-01 08:55:17 MSK
(In reply to ALexey Kostarev from comment #180)
> (Ответ для Anton Farygin на комментарий #177)
> > +%changelog
> > +* Thu Oct 31 2024 Alexey Kostarev <kaf@altlinux.org> 1.0.1-alt1
> > +- Initial build.
> > +- Added vendor modules.
> > 
> > А Added vendor modules зачем в changelog ? разве без них можно собрать ?
> Исправлено
> https://git.altlinux.org/tasks/361320/

А почему задание сборочное изменилось ? я про номер.
Comment 183 ALexey Kostarev 2024-11-01 08:59:43 MSK
(Ответ для Anton Farygin на комментарий #182)
> (In reply to ALexey Kostarev from comment #180)
> > (Ответ для Anton Farygin на комментарий #177)
> > > +%changelog
> > > +* Thu Oct 31 2024 Alexey Kostarev <kaf@altlinux.org> 1.0.1-alt1
> > > +- Initial build.
> > > +- Added vendor modules.
> > > 
> > > А Added vendor modules зачем в changelog ? разве без них можно собрать ?
> > Исправлено
> > https://git.altlinux.org/tasks/361320/
> 
> А почему задание сборочное изменилось ? я про номер.

Надо было удалять все 8-м subtask'ов в текущем, добавлять новые
Я посчитал что проще удалить текущую и создать новую задачу

Вот если бы дело касалось исправление отдельного subtask'а, тогда имеет смысл оставлять остальные

Или это принципиально - оставлять task?
Comment 184 ALexey Kostarev 2024-11-01 11:32:45 MSK
(Ответ для Anton Farygin на комментарий #181)
> Пустая строка вставлена не в том месте (две в одном, ноль в другом)
> 
> +BuildRequires: /proc
> +
> +
> +%description
> +This controller automates updates to YAML
> +when new container images are available.
> +%prep
> +%setup

Исправлено
https://git.altlinux.org/tasks/361320/gears/1100/git?p=git;a=blob;f=.gear/image-automation-controller.spec;h=6b8d65e627dab8d032ad1f759f24bb049c1e15c4;hb=HEAD#l18

Рискую нарваться на замечания Алексея Шабалина, но все же спрошу :-)

А есть ли у нас linter для проверки корректности spec-файла?
Или каждый сам кузнец своего счастья?
Нашел rpmlint, но он на наличие нескольких пустых строк не реагирует
Похоже надо писать шаблон на этот случай.
Никто у нас этим не занимался?

Номер задачи не сменил - удалил текущую подзадачу и добавил новые.
Правда так как в
ssh gyle task run ...
нет возможности указать подзадачу, выигрыша нет 
Приходиться собирать все и тратить все то же свое и процессорное время :-(
Comment 185 Anton Farygin 2024-11-01 16:32:18 MSK
(In reply to ALexey Kostarev from comment #184)
> (Ответ для Anton Farygin на комментарий #181)
> > Пустая строка вставлена не в том месте (две в одном, ноль в другом)
> > 
> > +BuildRequires: /proc
> > +
> > +
> > +%description
> > +This controller automates updates to YAML
> > +when new container images are available.
> > +%prep
> > +%setup
> 
> Исправлено
> https://git.altlinux.org/tasks/361320/gears/1100/git?p=git;a=blob;f=.gear/
> image-automation-controller.spec;h=6b8d65e627dab8d032ad1f759f24bb049c1e15c4;
> hb=HEAD#l18
> 
> Рискую нарваться на замечания Алексея Шабалина, но все же спрошу :-)
> 
> А есть ли у нас linter для проверки корректности spec-файла?
> Или каждый сам кузнец своего счастья?
> Нашел rpmlint, но он на наличие нескольких пустых строк не реагирует
> Похоже надо писать шаблон на этот случай.
> Никто у нас этим не занимался?
> 
> Номер задачи не сменил - удалил текущую подзадачу и добавил новые.
> Правда так как в
> ssh gyle task run ...
> нет возможности указать подзадачу, выигрыша нет 
> Приходиться собирать все и тратить все то же свое и процессорное время :-(

А не надо удалять все подзадания. Можно же удалить одно и добавить тоже одно в нужное место task'а.
Comment 186 Anton Farygin 2024-11-01 16:32:43 MSK
  20 %description
  21 This controller automates updates to YAML
  22 when new container images are available.
  23 %prep
  24 %setup

Всё равно сливается.
Comment 187 ALexey Kostarev 2024-11-01 16:41:36 MSK
(Ответ для Anton Farygin на комментарий #185)
> (In reply to ALexey Kostarev from comment #184)
> > (Ответ для Anton Farygin на комментарий #181)
> > > Пустая строка вставлена не в том месте (две в одном, ноль в другом)
> > > 
> > > +BuildRequires: /proc
> > > +
> > > +
> > > +%description
> > > +This controller automates updates to YAML
> > > +when new container images are available.
> > > +%prep
> > > +%setup
> > 
> > Исправлено
> > https://git.altlinux.org/tasks/361320/gears/1100/git?p=git;a=blob;f=.gear/
> > image-automation-controller.spec;h=6b8d65e627dab8d032ad1f759f24bb049c1e15c4;
> > hb=HEAD#l18
> > 
> > Рискую нарваться на замечания Алексея Шабалина, но все же спрошу :-)
> > 
> > А есть ли у нас linter для проверки корректности spec-файла?
> > Или каждый сам кузнец своего счастья?
> > Нашел rpmlint, но он на наличие нескольких пустых строк не реагирует
> > Похоже надо писать шаблон на этот случай.
> > Никто у нас этим не занимался?
> > 
> > Номер задачи не сменил - удалил текущую подзадачу и добавил новые.
> > Правда так как в
> > ssh gyle task run ...
> > нет возможности указать подзадачу, выигрыша нет 
> > Приходиться собирать все и тратить все то же свое и процессорное время :-(
> 
> А не надо удалять все подзадания. Можно же удалить одно и добавить тоже одно
> в нужное место task'а.

Так я в этом случае я и не удалял все, а удалил второе и добавил в конец

В следующий раз  добавлю по месту, но сдается мне, что 
gyle run 
все одно будет все пакеты пересобирать

Проверю
Comment 188 Anton Farygin 2024-11-01 16:49:55 MSK
конечно будет все пересобирать, но отслеживать состояние таких заданий гораздо удобнее.

К тому же я аппрувлю и дизаппрувлю подзадания, которые прошли или не прошли проверку.
Comment 189 ALexey Kostarev 2024-11-02 13:28:54 MSK
(Ответ для Anton Farygin на комментарий #188)
> конечно будет все пересобирать, но отслеживать состояние таких заданий
> гораздо удобнее.
> 
> К тому же я аппрувлю и дизаппрувлю подзадания, которые прошли или не прошли
> проверку.

Исправлено
https://git.altlinux.org/tasks/361320/
subtask'и оставил на месте

Для уже прошедших до этого сборку вижу, что взяты из кэшей
2024-Nov-02 09:35:05 :: [x86_64] #300 image-reflector-controller.git 0.32.0-alt1: build OK (cached)
...
https://git.altlinux.org/tasks/361320/logs/events.4.1.log

Так что да - стоит придерживаться этой схемы
Спасибо
Comment 190 Anton Farygin 2024-11-04 09:38:58 MSK
в пакете flux
https://packages.altlinux.org/ru/sisyphus/srpms/flux2/specfiles/3136990227885862690

не включены тесты.
Comment 191 Anton Farygin 2024-11-04 09:43:01 MSK
https://packages.altlinux.org/ru/sisyphus/srpms/kustomize/specfiles/3136994127366774890

Замена %RELEASE% на %release выглядит как ошибка.
Comment 192 Anton Farygin 2024-11-04 09:45:32 MSK
https://git.altlinux.org/tasks/361320/gears/1200/git?p=git;a=tree;f=.gear;h=e73556b8d33fcdda1389d1a3bebfcb2c7df32838;hb=7557b7d8b21c10d7633cbaf93d00b7e7f6b8aa3d

В этом пакете specfile лучше назвать одноимённо с именем пакета, так просто чуть чуть удобнее.
Comment 193 ALexey Kostarev 2024-11-04 10:49:57 MSK
(Ответ для Anton Farygin на комментарий #190)
> в пакете flux
> https://packages.altlinux.org/ru/sisyphus/srpms/flux2/specfiles/
> 3136990227885862690
> 
> не включены тесты.

Добрый день

Алексей Шабалин выше прокомментировал же это замечание
https://bugzilla.altlinux.org/show_bug.cgi?id=39627#c170

> > 3) не включены тесты

> И не должны. Они для работы требуют выхода в Интернет.
Comment 194 Anton Farygin 2024-11-05 08:59:07 MSK
(In reply to ALexey Kostarev from comment #193)
> (Ответ для Anton Farygin на комментарий #190)
> > в пакете flux
> > https://packages.altlinux.org/ru/sisyphus/srpms/flux2/specfiles/
> > 3136990227885862690
> > 
> > не включены тесты.
> 
> Добрый день
> 
> Алексей Шабалин выше прокомментировал же это замечание
> https://bugzilla.altlinux.org/show_bug.cgi?id=39627#c170
> 
> > > 3) не включены тесты
> 
> > И не должны. Они для работы требуют выхода в Интернет.

ok.
Comment 195 ALexey Kostarev 2024-11-06 12:13:35 MSK
(Ответ для Anton Farygin на комментарий #191)
> https://packages.altlinux.org/ru/sisyphus/srpms/kustomize/specfiles/
> 3136994127366774890
> 
> Замена %RELEASE% на %release выглядит как ошибка.

Эта ошибка в модуле vendor/sigs.k8s.io/kustomize/api/provenance/provenance.go
https://git.altlinux.org/tasks/361320/gears/1000/git?p=git;a=blob;f=kustomize/vendor/sigs.k8s.io/kustomize/api/provenance/provenance.go;h=c637ac2e1ac09baa3915905c2196c52e649757f5;hb=HEAD#l50

GitCommit: "unknown",

Из за этого в бинарном коде возвращает при вызове
kustomize version
возвращает
unknown

Я в add-alt-release-to-GitConfig.patch
https://git.altlinux.org/tasks/361320/gears/1000/git?p=git;a=blob;f=add-alt-release-to-GitConfig.patch;h=e9af1c5ae24a3b7df76726cca0ee4d0d8c231c60;hb=HEAD
заменяю на
GitCommit: "%RELEASE%",

А затем в SPEC на текущую версию kustomize
Comment 196 ALexey Kostarev 2024-11-06 12:15:29 MSK
(Ответ для ALexey Kostarev на комментарий #195)
> (Ответ для Anton Farygin на комментарий #191)
> > https://packages.altlinux.org/ru/sisyphus/srpms/kustomize/specfiles/
> > 3136994127366774890
> > 
> > Замена %RELEASE% на %release выглядит как ошибка.
> 
> Эта ошибка в модуле vendor/sigs.k8s.io/kustomize/api/provenance/provenance.go
> https://git.altlinux.org/tasks/361320/gears/1000/git?p=git;a=blob;
> f=kustomize/vendor/sigs.k8s.io/kustomize/api/provenance/provenance.go;
> h=c637ac2e1ac09baa3915905c2196c52e649757f5;hb=HEAD#l50
> 
> GitCommit: "unknown",
> 
> Из за этого в бинарном коде возвращает при вызове
> kustomize version
> возвращает
> unknown
> 
> Я в add-alt-release-to-GitConfig.patch
> https://git.altlinux.org/tasks/361320/gears/1000/git?p=git;a=blob;f=add-alt-
> release-to-GitConfig.patch;h=e9af1c5ae24a3b7df76726cca0ee4d0d8c231c60;hb=HEAD
> заменяю на
> GitCommit: "%RELEASE%",
> 
> А затем в SPEC на текущую версию kustomize

Сейчас уже точно не припомню (было почти полгода назад), на замена unknown сразу на %release создавало проблемы
Comment 197 Anton Farygin 2024-11-06 12:18:07 MSK
(In reply to ALexey Kostarev from comment #195)
> (Ответ для Anton Farygin на комментарий #191)
> > https://packages.altlinux.org/ru/sisyphus/srpms/kustomize/specfiles/
> > 3136994127366774890
> > 
> > Замена %RELEASE% на %release выглядит как ошибка.
> 
> Эта ошибка в модуле vendor/sigs.k8s.io/kustomize/api/provenance/provenance.go
> https://git.altlinux.org/tasks/361320/gears/1000/git?p=git;a=blob;
> f=kustomize/vendor/sigs.k8s.io/kustomize/api/provenance/provenance.go;
> h=c637ac2e1ac09baa3915905c2196c52e649757f5;hb=HEAD#l50
> 
> GitCommit: "unknown",
> 
> Из за этого в бинарном коде возвращает при вызове
> kustomize version
> возвращает
> unknown
> 
> Я в add-alt-release-to-GitConfig.patch
> https://git.altlinux.org/tasks/361320/gears/1000/git?p=git;a=blob;f=add-alt-
> release-to-GitConfig.patch;h=e9af1c5ae24a3b7df76726cca0ee4d0d8c231c60;hb=HEAD
> заменяю на
> GitCommit: "%RELEASE%",
> 
> А затем в SPEC на текущую версию kustomize

В этом месте должен быть sha1 git commit'а.
Comment 198 ALexey Kostarev 2024-11-06 12:23:03 MSK
(Ответ для Anton Farygin на комментарий #197)
> (In reply to ALexey Kostarev from comment #195)
> > (Ответ для Anton Farygin на комментарий #191)
> > > https://packages.altlinux.org/ru/sisyphus/srpms/kustomize/specfiles/
> > > 3136994127366774890
> > > 
> > > Замена %RELEASE% на %release выглядит как ошибка.
> > 
> > Эта ошибка в модуле vendor/sigs.k8s.io/kustomize/api/provenance/provenance.go
> > https://git.altlinux.org/tasks/361320/gears/1000/git?p=git;a=blob;
> > f=kustomize/vendor/sigs.k8s.io/kustomize/api/provenance/provenance.go;
> > h=c637ac2e1ac09baa3915905c2196c52e649757f5;hb=HEAD#l50
> > 
> > GitCommit: "unknown",
> > 
> > Из за этого в бинарном коде возвращает при вызове
> > kustomize version
> > возвращает
> > unknown
> > 
> > Я в add-alt-release-to-GitConfig.patch
> > https://git.altlinux.org/tasks/361320/gears/1000/git?p=git;a=blob;f=add-alt-
> > release-to-GitConfig.patch;h=e9af1c5ae24a3b7df76726cca0ee4d0d8c231c60;hb=HEAD
> > заменяю на
> > GitCommit: "%RELEASE%",
> > 
> > А затем в SPEC на текущую версию kustomize
> 
> В этом месте должен быть sha1 git commit'а.

Можно поподробнее в каком месте и какого комита?
Comment 199 Anton Farygin 2024-11-06 12:23:46 MSK
подробности если не понятны то лучше уточнить в апстриме.
Comment 200 ALexey Kostarev 2024-11-06 12:31:52 MSK
(Ответ для Anton Farygin на комментарий #192)
> https://git.altlinux.org/tasks/361320/gears/1200/git?p=git;a=tree;f=.gear;
> h=e73556b8d33fcdda1389d1a3bebfcb2c7df32838;
> hb=7557b7d8b21c10d7633cbaf93d00b7e7f6b8aa3d
> 
> В этом пакете specfile лучше назвать одноимённо с именем пакета, так просто
> чуть чуть удобнее.

Да я могу и потерпеть
Менять придется во всех -controller пакетах

В имени этих пакетов добавлен префикс flux2- , чтобы они случайно не пересеклись с названиями других пакетов 
Например пакет notification-controller может быть в составе и других систем
По договоренности с Алексеем Шабалиным был добавлен этот префикс

А имя speс-файла не  является глобальным
Оно должно быть уникальным только в рамках каталога .gear
Пакеты flux2*-controller не применяется вне пакета flux2
Все они собираются в отдельные docker-образы и используются только в составе docker-образов

Так что я не вижу смысла менять имя спек-файла
Comment 201 ALexey Kostarev 2024-11-11 08:24:17 MSK
(Ответ для Anton Farygin на комментарий #197)
> (In reply to ALexey Kostarev from comment #195)
> > (Ответ для Anton Farygin на комментарий #191)
> > > https://packages.altlinux.org/ru/sisyphus/srpms/kustomize/specfiles/
> > > 3136994127366774890
> > > 
> > > Замена %RELEASE% на %release выглядит как ошибка.
> > 
> > Эта ошибка в модуле vendor/sigs.k8s.io/kustomize/api/provenance/provenance.go
> > https://git.altlinux.org/tasks/361320/gears/1000/git?p=git;a=blob;
> > f=kustomize/vendor/sigs.k8s.io/kustomize/api/provenance/provenance.go;
> > h=c637ac2e1ac09baa3915905c2196c52e649757f5;hb=HEAD#l50
> > 
> > GitCommit: "unknown",
> > 
> > Из за этого в бинарном коде возвращает при вызове
> > kustomize version
> > возвращает
> > unknown
> > 
> > Я в add-alt-release-to-GitConfig.patch
> > https://git.altlinux.org/tasks/361320/gears/1000/git?p=git;a=blob;f=add-alt-
> > release-to-GitConfig.patch;h=e9af1c5ae24a3b7df76726cca0ee4d0d8c231c60;hb=HEAD
> > заменяю на
> > GitCommit: "%RELEASE%",
> > 
> > А затем в SPEC на текущую версию kustomize
> 
> В этом месте должен быть sha1 git commit'а.

Доброе утро

https://git.altlinux.org/tasks/361320/
1170 kustomize.git 5.4.2-alt1

Прошу прощения затупил
Долго не мог понять о каком месте идет речь :-)

+ пытался избежать patch'а файла kustomize/vendor/sigs.k8s.io/kustomize/api/provenance/provenance.go пытаюсь передать значение комита (vcs.revision=%commit) в переменную info, возвращаемую методом ReadBuildInfo()

Сколько не копал Инет метод передачи найти не удалось :-( 

Так что остановился на добавление в  provenance.go переменной  gitCommit, передачей ей значения %commit при сборке 
и присвоение этого значения в Provenance.GitCommit

Это будет работать как при сборке вне среды git, так и (как запрограммировано в исходном варианте) при сборке в среде git(github) при наличии элемента vcs.revision в возвращаемом значении функцией ReadBuildInfo()
Comment 202 Anton Farygin 2024-11-11 09:20:38 MSK
ну и совсем по мелочи - опять потерялась точка в changelog.

просьба быть внимательнее и смотреть свой спекфайл перед отправкой
Comment 203 ALexey Kostarev 2024-11-11 09:58:50 MSK
(Ответ для Anton Farygin на комментарий #202)
> ну и совсем по мелочи - опять потерялась точка в changelog.
> 
> просьба быть внимательнее и смотреть свой спекфайл перед отправкой

Речь про kustomize?
https://git.altlinux.org/tasks/361320/gears/1170/git?p=git;a=blob;f=.gear/kustomize.spec;h=97306e7cb22c0f584a0a929b7527c4af83b43110;hb=HEAD


%changelog
* Sun Nov 10 2024 Alexey Kostarev <kaf@altlinux.org> 5.4.2-alt1
- Initial build.



Специально смотрел, чтобы не пропустить точку при сборке


Или речь о другом SPEC?
Comment 204 Anton Farygin 2024-11-14 17:26:52 MSK
Всё хорошо, возможно я куда-то не туда посмотрел.
Заапрувил задание.

Патч с gitCommit напрашивается на отправку в upstream