По информации Bleeping Computer, в репозитории пакетного менеджера winget для Windows 10 много дубликатов, плохо сформированных пакетов и искаженных манифестов.
Разработчики ищут помощи и самостоятельно пытаются хоть как то разгрести текущие проблемы, которые там обнаружились, включая большое количество искаженных манифестов. Фактически, сейчас целостность экосистемы winget под вопросом, а многие pull request в проекте дублируются, либо неправильно сформированы.
После выпуска первой стабильной версии winget многие независимые поставщики программного обеспечения (ISV), желающие загрузить свое приложение в реестр winget, отправили манифесты своих приложений на GitHub. Для упрощения создания файлов с манифестом Microsoft создал инструментарий winget-create.
Все присланные манифесты автоматически проверяются ботом winget по определенным критериям. Но недавно эта система дала сбой. На GitHub в проекте winget появилось более 50 pull request, содержащих имена приложений, которые уже существовали в реестре winget. Более того, некоторые pull request содержали неверные имена приложений в манифестах, искаженный PackageIdentifier или «битые» ссылки (некорректные URL-адрес загрузки), из-за которых часть приложений не могли быть установлены.
В некоторых случаях, новые pull request, содержащие неполное описание, перезаписывали манифесты существующих приложений — например, плеер VLC VideoLAN и приложение Steam от Valve.
Таким образом, репозиторий winget в прошлые выходные превратился в большой котел с некорректными или дублирующими pull request. Разработчики в лице группы активных участников проекта попытались взять ситуацию под контроль и начали закрывать часть «плохих» pull request, взяв модерацию проекта в свои руки. Это было сделано вовремя, так как в репозитории могли появиться поддельные и вредоносные компоненты со спамом. Разработчики предложили, чтобы вновь созданные манифесты в winget проходили дополнительную проверку вручную, а также начали придумывать другие методы, которые команда winget может использовать для обеспечения целостности пакетов.
Разработчик winget из Microsoft признал проблему и заявил, что планирует обсудить ее с командой. Он раздумавает в качестве варианта решения проблемы внести в проект «второго» утверждающего для «нового» манифеста в «новом» каталоге, но делать это также с помощью бота с новым сценарием.
26 мая 2021 года Microsoft представила версию 1.0 пакетного менеджера Windows Package Manager (winget), с помощью которого можно устанавливать, обновлять, настраивать и удалять приложения в ОС Windows 10 из командной строки, терминала Windows или PowerShell. Microsoft опубликовала исходный код winget на GitHub под лицензией MIT License. Утилита написана на языке С++. В релизной версии winget доступны команды: install, show, source, search, list, upgrade, uninstall, hash, validate, settings, features, export, import.