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

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

    <bug>
          <bug_id>60563</bug_id>
          
          <creation_ts>2026-09-16 10:41:32 +0300</creation_ts>
          <short_desc>Поля Icon, Description в машинных ярлыках не заполняются</short_desc>
          <delta_ts>2026-10-15 16:21:08 +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>gpupdate</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="Anton Shevtsov">shevtsov.anton</reporter>
          <assigned_to name="Evgeny Sinelnikov">sin</assigned_to>
          <cc>greh</cc>
    
    <cc>nir</cc>
    
    <cc>sin</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>299015</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Shevtsov">shevtsov.anton</who>
    <bug_when>2026-09-16 10:41:32 +0300</bug_when>
    <thetext>МАШИННАЯ политика создания ярлыков.

Ярлык создается, но поля Icon, Description не заполняются, остаются дефолтными. В них нет значений определенных политикой


Версия gpupdate

[WIN\winuser5@host-16 Рабочий стол]$ rpm -q gpupdate
gpupdate-0.16.1-alt1.noarch


Пример МАШИННОЙ политики

[WIN\winuser5@host-16 Рабочий стол]$ gpresult -m -n shortcuts

МАШИННЫЕ НАСТРОЙКИ
------------------
    Примененные Объекты Групповой Политики
    --------------------------------------
         GPO          shortcuts                                                                             
         Путь         /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{287F1017-569B-47CD-A09D-A0AE73594C28}   
         Версия       327685                                                                                
         GUID         {287F1017-569B-47CD-A09D-A0AE73594C28}                                                
         Ключи        /Software/BaseALT/Policies/GPUpdate/ShortcutsMerge   1                                
         Настройки    Тип                        Значки                                                     
                      Расположение               %DesktopDir%\custom-chromium                               
                      Путь                       /usr/bin/chromium                                          
                      Целевой путь               -                                                          
                      Аргументы                  https://portal.lukoil.com/hr-services                      
                      Имя                        custom-chromium                                            
                      Действие                   R                                                          
                      Дата изменения             16.09.2026 17:27:16                                        
                      Путь к файлу               modem-symbolic                                             
                      Комментарий                my-comment-2                                               
                      В контексте пользователя   -                                                          
                      Тип ссылки                 FILESYSTEM                                                 
                      Шаблон файла раб. стола    -                                                          
                      Отключено                  Нет                                                        
                      Удаление политики          Нет                                                        
                      UID                        {457d58e3-eeed-454b-9506-109188e55715}                     
                      Игнорировать ошибки        Нет                                                        
                      Применить однократно       Нет                                                        
                      Дата изменения             16.09.2026 17:27:16                                        
                      Фильтры                    -   


Поля &quot;Комментарий&quot;, &quot;Путь к файлу&quot; (который в указывает путь к значку\пиктограмме\иконке) - не проставляются. Они в любых вариациях остаются дефолтными т.е.

[WIN\winuser5@host-16 Рабочий стол]$ cat custom-chromium.desktop 
[Desktop Entry]
Version=1.0
Type=Application
Name=custom-chromium
Terminal=false
Exec=/usr/bin/chromium https://portal.lukoil.com/hr-services
Comment=
Icon=chromium

Одинаковое поведение, как у родных доменных пользователей, так и у пользователей из трастового домена

[gp1@host-16 Рабочий стол]$ cat custom-chromium.desktop 
[Desktop Entry]
Version=1.0
Type=Application
Name=custom-chromium
Terminal=false
Exec=/usr/bin/chromium https://portal.lukoil.com/hr-services
Comment=
Icon=chromium

[gp1@host-16 Рабочий стол]$ id
uid=1001413(gp1) gid=1000513(domain users) группы=1000513(domain users),14(uucp),19(proc),22(cdrom),71(floppy),80(cdwriter),81(audio),83(radio),100(users),444(usershares),466(vboxusers),472(camera),476(fuse),479(video),490(vboxsf),491(vboxadd),498(xgrp),499(scanner),501(pammount_users),10003(BUILTIN\users),1001135(sales),1001413(gp1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300171</commentid>
    <comment_count>1</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-09-25 14:18:53 +0300</bug_when>
    <thetext>Подтверждаю, причина найдена. Воспроизводится при включённом «Слиянии ярлыков» (ShortcutsMerge=1) на gpupdate 0.16.1 (p11), 0.16.3 (Сизиф) и 0.13 (СП 10.2).

Машинный ярлык в /etc/skel создаётся правильно (Comment=…, Icon=/usr/share/icons/…). Но копия этого ярлыка на рабочем столе пользователя при слиянии — &quot;Name=… Exec=/usr/bin/xterm Comment=&quot; без Icon (на 0.13 — пустой Comment и Icon по умолчанию).

Причина в коде 0.16.x: shortcut_applier_user.get_machine_shortcuts() собирает объект shortcut(dest, path, arguments, name, action, target_type) из dconf и не переносит поля icon и comment, хотя в dconf они есть (&apos;icon&apos;: &apos;/usr/share/icons/…&apos;, &apos;comment&apos;: &apos;…&apos;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300541</commentid>
    <comment_count>2</comment_count>
    <who name="Vera Blagoveschenskaya">vercha</who>
    <bug_when>2026-09-29 11:34:06 +0300</bug_when>
    <thetext>Результат проверки воспроизводимости

Проверено в Sisyphus: клиент Альт Рабочая станция, обновлённая до текущего состояния репозитория, gpupdate-0.16.3-alt1; домен Samba AD (samba-dc-4.22.11-alt3).

Сценарий: машинная политика с ShortcutsMerge=1 (Software\BaseALT\Policies\GPUpdate) и машинным ярлыком Preferences/Shortcuts: shortcutPath=%DesktopDir%\custom-chromium, targetPath=/usr/bin/chromium, arguments=https://example.org/hr-services, action=R, iconPath=modem-symbolic, comment=my-comment-2. На клиенте выполнен gpupdate --target Computer, затем вход доменного пользователя в графический сеанс.

Результат:
- /etc/skel/Рабочий стол/custom-chromium.desktop создаётся корректно: Comment=my-comment-2, Icon=modem-symbolic. В /etc/dconf/db/policy.d/policy.ini для Preferences/Machine/Shortcuts присутствуют &apos;icon&apos;: &apos;modem-symbolic&apos; и &apos;comment&apos;: &apos;my-comment-2&apos;.
- При входе пользователя ~/Рабочий стол/custom-chromium.desktop перезаписывается без значений из политики:
  Comment=
  Icon=chromium
  (значок взят из /usr/share/applications/chromium.desktop).

Состояние:
Ошибка воспроизводится в Sisyphus на gpupdate-0.16.3-alt1. Причина совпадает с описанной в комментарии 1: shortcut_applier_user.get_machine_shortcuts() (gpoa/frontend/shortcut_applier.py) создаёт объект shortcut только из dest, path, arguments, name, action и target_type и не переносит icon и comment, хотя в dconf они есть.

Примечание: на стенде вход доменного пользователя блокировался падением sssd_be (sssd-2.12.0-alt1, bug 60591); для проверки использован ad_gpo_access_control = disabled. На результат проверки gpupdate это не влияет.

Рекомендация:
в get_machine_shortcuts() переносить в объект shortcut поля icon и comment (set_icon(), set_comment()), а также остальные поля машинного ярлыка, которые read_shortcuts() заполняет из Shortcuts.xml. Исправить в Sisyphus и перенести в p11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302517</commentid>
    <comment_count>3</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2026-10-15 16:21:08 +0300</bug_when>
    <thetext>gpupdate-0.16.4-alt1 -&gt; sisyphus:

Thu Oct 15 2026 Valery Sinelnikov &lt;greh@altlinux&gt; 0.16.4-alt1
- Added:
  gpupdate-machine-run for commands with isolated machine Kerberos credentials
  (closes: 60548)
  GPO-configurable user policy refresh on SSH login (closes: 53161)
  Chromium 153 integer-valued policy exceptions
  Optional strict exit status for policy scripts
- Fixed:
  User file policies creating root-owned home directories (closes: 48946)
  KDE policy application without a graphical environment (closes: 60718)
  Missing icon and comment in merged machine shortcuts (closes: 60563)
  GNOME and XFCE shortcut trust metadata (closes: 56019)
  Absolute local script paths (closes: 47135)
  Structured Chromium and Yandex JSON preservation through dconf
  (closes: 46281)
  Yandex numeric policy types for delays, limits and import settings
  ADMX numeric-value extraction for decimal elements and enums
  Packaged display manager plugin discovery and safe GDM background updates
  LightDM greeter detection and native INI configuration
  User polkit rule isolation, plugin execution and privilege-worker IPC
  GPO cache identity, FreeIPA refresh handling and loopback precedence
  Policy-scoped and per-user apply-once state, managed-file and hidden cleanup
  Cached policy application
  File-operation safety, bounded worker IPC and command-group cleanup
  Kerberos credential isolation and LAPS retry post-actions
  Native DWORD handling in Firewall and NTP, standalone GSettings lock updates
  Script preparation failures and active timer shutdown when disabling gpupdate
  Browser policy publication and GDM restoration across theme upgrades
  Configuration preservation on upgrade and policy execution error reporting
- Packaging:
  Ship shared applier templates with gpoa-lib
- Documentation:
  Clarified plugin translation paths and documented regression test scenarios</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>