Версия пакета: gpupdate-0.13.2-alt1 Шаги воспроизведения: 1. Компьютер -> Административные шаблоны -> Система ALT -> Групповые политики -> Экспериментальные групповые политики -> Включено 2. Компьютер -> Административные шаблоны -> Система ALT -> Групповые политики -> Механизмы GPUpdate: - Управление локальными каталогами -> Включено - Управление локальными каталогами для пользователей -> Включено 3. Открыть раздел Компьютер - Настройки - Настройки системы - Папки 4. Создать папку и запустить gpupdate на клиентской машине 5. Изменить ранее созданную папку в GPUI: поменять путь и выбрать "Действие -> Изменить" Фактический результат: Предыдущая папка сохраняется, создаётся новая. Ожидаемый результат: Предыдущая папка удаляется, создаётся новая. Дополнительно: Аналогично https://bugzilla.altlinux.org/47645, причина в том, что работаем с FOLDERS.XML, которое не сохраняет предыдущее значение. gpoa/frontend/appliers/folder.py: def act(self): if self.hidden_folder == True and str(self.folder_path.name)[0] != '.': path_components = list(self.folder_path.parts) path_components[-1] = '.' + path_components[-1] new_folder_path = Path(*path_components) self.folder_path = new_folder_path if self.action == FileAction.CREATE: self._create_action() if self.action == FileAction.UPDATE: self._create_action() if self.action == FileAction.DELETE: self._delete_action() if self.action == FileAction.REPLACE: self._delete_action() self._create_action() def _delete_action(self): if self.folder_path.exists(): if self.action == FileAction.REPLACE: self.delete_folder = True remove_dir_tree(self.folder_path, self.delete_files, self.delete_folder, self.delete_sub_folders) gpoa/gpt/folders.py: def read_folders(folders_file): folders = list() for fld in get_xml_root(folders_file): props = fld.find('Properties') path = props.get('path') action = props.get('action', default='C') fld_obj = folderentry(path, action) fld_obj.set_delete_folder(folder_int2bool(props.get('deleteFolder', default=1))) fld_obj.set_delete_sub_folders(folder_int2bool(props.get('deleteSubFolders', default=1))) fld_obj.set_delete_files(folder_int2bool(props.get('deleteFiles', default=1))) fld_obj.set_hidden_folder(folder_int2bool(props.get('hidden', default=0))) folders.append(fld_obj) return folders Полагаю, что если изменить логику работы таким образом, чтобы оперировать вводными данными из dconf - то будет работать, поскольку там сохраняется предыдущее значение в Previous/Software/BaseALT/Policies/Preferences/Machine