<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>55716</bug_id>
          
          <creation_ts>2025-08-25 19:11:11 +0300</creation_ts>
          <short_desc>Некорректное использование useradd в %pre</short_desc>
          <delta_ts>2025-09-09 17:05:28 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>trivy-java-db</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vladislav Glinkin">glinkinvd</reporter>
          <assigned_to name="gamzin@altlinux.org">gamzin</assigned_to>
          <cc>gamzin</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>271370</commentid>
    <comment_count>0</comment_count>
    <who name="Vladislav Glinkin">glinkinvd</who>
    <bug_when>2025-08-25 19:11:11 +0300</bug_when>
    <thetext>Версия пакета: trivy-java-db-20250429-alt1

Шаги воспроизведения:
1) # apt-get install trivy-java-db

Фактический результат:
Совершаем изменения...
Подготовка...                           ###################################################################################### [100%]
useradd: Warning: missing or non-executable shell &apos;/dev/null&apos;
useradd: ключ должен использоваться с аргументом — «c»
Использование: useradd [параметры] ПОЛЬЗОВАТЕЛЬ
               useradd -D
               useradd -D [параметры]

Параметры:
  -b, --base-dir БАЗ_КАТ        базовый каталог для домашнего каталога новой
                                учётной записи
      --btrfs-subvolume-home    use BTRFS subvolume for home directory
  -c, --comment КОММЕНТАРИЙ     поле GECOS новой учётной записи
  -d, --home-dir ДОМ_КАТ        домашний каталог новой учётной записи
  -D, --defaults                показать или изменить настройки
                                по умолчанию для useradd
  -e, --expiredate ДАТА_УСТ     дата устаревания новой учётной записи
  -f, --inactive НЕАКТИВНОСТЬ   период неактивности пароля новой учётной записи
  -F, --add-subids-for-system   add entries to sub[ud]id even when adding a system user
  -g, --gid ГРУППА              имя или ID первичной группы новой
                                учётной записи
  -G, --groups ГРУППЫ           список дополнительных групп новой
                                учётной записи
  -h, --help                    показать данное сообщение и закончить работу
  -k, --skel КАТ_ШАБ            использовать альтернативный каталог с шаблонами
  -K, --key КЛЮЧ=ЗНАЧЕНИЕ       заменить значение по умолчанию
                                из /etc/login.defs
  -m, --create-home             создать домашний каталог пользователя
  -M, --no-create-home          не создавать домашний каталог пользователя
  -N, --no-user-group           не создавать группу с тем же именем что и у
                                пользователя
  -o, --non-unique              разрешить создание пользователей с
                                повторяющимися (не уникальными) UID
  -p, --password ПАРОЛЬ         зашифрованный пароль новой учётной записи
  -r, --system                  создавать системную группу
  -R, --root КАТ_CHROOT         каталог, в который выполняется chroot
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell ОБОЛОЧКА          регистрационная оболочка новой
                                учётной записи
  -u, --uid UID                 пользовательский ID новой учётной записи
  -U, --user-group              создать группу с тем же именем что и у
                                пользователя
  -Z, --selinux-user SEUSER     использовать указанного SEUSER для
                                пользовательского сопоставления SELinux
      --selinux-range SERANGE   use a specific MLS range for the SELinux user mapping

Обновление / установка...
1: trivy-java-db-20250429-alt1          ###################################################################################### [100%]
Завершено.

Ожидаемый результат:
Корректное использование useradd в секции %pre .spec файла.

Причиной такого поведения является некорректное разделение команды в две строки:
  29 useradd -M -r -d %_sharedstatedir/%name -g _trivy -s /dev/null -c 
  30 &quot;Trivy Java DB services&quot; _trivy &gt; /dev/null 2&gt;&amp;1 ||:

Необходимо либо объединить в одну, либо корректно разделить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271372</commentid>
    <comment_count>1</comment_count>
    <who name="Vladislav Glinkin">glinkinvd</who>
    <bug_when>2025-08-25 19:17:03 +0300</bug_when>
    <thetext>Как следствие, пользователь _trivy не создаётся.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272195</commentid>
    <comment_count>2</comment_count>
    <who name="gamzin@altlinux.org">gamzin</who>
    <bug_when>2025-09-09 17:05:28 +0300</bug_when>
    <thetext>Добрый день, спасибо за Ваше замечание!
Пакет был исправлен:
Флаг --skip-java-db-update работает только на стороне клиента, trivy server не поддерживает работу с trivy-java-db. В связи с этим удалено создание пользователя. Он не нужен, так как работа с сервером не осуществляется.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>