Upstream update available: gtest 1.15.2 → 1.17.0 #2

Open
opened 2026-04-28 01:14:10 +03:00 by sbelikov · 0 comments
Owner

Upstream update available: gtest 1.15.21.17.0

Package

  • Package: gtest
  • RPM name: gtest
  • Branch: niceos-5.2
  • Current EVR: 1.15.2-1
  • Update class: minor
  • Compare method: python_rpm
  • Update policy: leaf
  • Risk tags: github-upstream

Upstream

Signals

  • Security-relevant keywords detected: False
  • Policy blocked: False
  • Policy reason: -
  • Labels: ai-summary, bot, needs-build, needs-triage, priority/medium, update/minor, upstream-update, upstream/github

NiceSOFT AI preliminary analysis

1. Краткий вывод

Upstream-пакет gtest обновляется с версии 1.15.2 до 1.17.0, что классифицируется как минорное обновление с добавлением новых флагов и матчеров. Критическим изменением является требование компиляции минимум на C++17, что может нарушить совместимость со старыми инструментами сборки дистрибутива. Прямых указаний на уязвимости безопасности или критические баги в предоставленных данных не обнаружено.

2. Риск для НАЙС.ОС

medium.
Основной риск связан с повышением требований к языку программирования (C++17). Если текущая toolchain НАЙС.ОС или базовые заголовки системы не гарантируют полную поддержку C++17 по умолчанию, обновление может привести к ошибкам компиляции зависимостей, использующих gtest. Также добавление новых API (--gtest_fail_if_no_test_linked, DistanceFrom()) требует проверки, не ломаются ли существующие тесты, которые полагаются на поведение по умолчанию.

3. Security/CVE

Во входных данных отсутствуют признаки security-уязвимостей. Поле security_keywords_detected_by_script равно False, а в release notes и commit-хешах нет упоминаний исправлений уязвимостей (CVE), патчей безопасности или изменений в механизмах обработки памяти.

4. ABI/API риск

Нужен ручной ABI/API анализ.
Хотя gtest часто используется как библиотека для написания тестов, изменения в сигнатурах матчеров (например, поддержка пользовательского abs() в DistanceFrom()) могут повлиять на код, использующий эти функции. Более того, жесткое требование C++17 меняет контракт компиляции: если ранее тесты компилировались под C++11/14, они теперь могут не собираться без явного указания стандарта в CXXFLAGS или specfile.

5. Риск для RPM-сборки

Возможен сбой в этапах %build и %check пакетов, зависящих от gtest.

  • В specfile может потребоваться добавление -std=c++17 в переменную CXXFLAGS или CXX, если он там отсутствует.
  • Пакеты, использующие старые патчи, модифицирующие логику gtest (например, отключение определенных фич), могут перестать работать, так как upstream отказывается принимать новые фичи в ветке 1.17.x, но может принять критические фиксы.
  • Тесты самого пакета gtest (%check) могут провалиться, если среда тестирования не настроена на C++17.

6. Проверки мейнтейнера

  • Проверить наличие флага -std=c++17 в BuildRequires или CXXFLAGS всех пакетов, зависящих от gtest.
  • Запустить %check для всех зависимых пакетов после обновления.
  • Проверить, не используются ли в коде дистрибутива функции DistanceFrom() с пользовательским abs(), которые могут вести себя иначе.
  • Убедиться, что policy_blocked остается False и нет скрытых блокировок для C++17 зависимостей.
  • Проверить актуальность патчей в specfile против новых коммитов (особенно учитывая политику upstream не принимать новые фичи).

7. Рекомендация

update candidate

8. Основание рекомендации

Обновление классифицировано как minor с политикой leaf, и скрипт безопасности не обнаружил угроз. Хотя требование C++17 является существенным изменением, оно является эволюционным шагом стандарта, который обычно поддерживается современными дистрибутивами. Риск ограничен возможностью настройки флагов компиляции, что решается в рамках ручного ревью перед включением в репозиторий, поэтому статус "candidate" допустим при условии выполнения проверок из пункта 6.

Upstream release notes / description

Release Notes

GoogleTest will not accept patches of new features to the v1.17.x branch.
We recommend building GoogleTest from the latest commit instead.
Exceptional critical bug fixes may be considered.

C++ Language Support

Notable Changes

NiceOS maintainer checklist

  • Confirm that the detected version is a stable upstream release.
  • Check upstream changelog for security fixes, ABI/API changes and build-system changes.
  • Check ABI/API compatibility and reverse dependencies.
  • Download source into NiceOS lookaside storage.
  • Update Version and related fields in SPECS/*.spec only if policy allows it.
  • Regenerate SOURCES/sources.lock.json, manifests, metadata and SBOM.
  • Build SRPM/RPM in a clean NiceOS buildroot.
  • Run package smoke tests.
  • Link PR/build logs and close this issue after update or triage.

Bot metadata

  • Tool: niceos_upstream_monitor.py 1.4
  • Generated at: 2026-04-27T22:14:10Z
<!-- niceos-upstream-monitor:fingerprint=upstream-update:gtest:1.17.0 --> <!-- niceos-upstream-monitor:package=gtest --> <!-- niceos-upstream-monitor:current=1.15.2 --> <!-- niceos-upstream-monitor:latest=1.17.0 --> # Upstream update available: `gtest` `1.15.2` → `1.17.0` ## Package - Package: `gtest` - RPM name: `gtest` - Branch: `niceos-5.2` - Current EVR: `1.15.2-1` - Update class: `minor` - Compare method: `python_rpm` - Update policy: `leaf` - Risk tags: `github-upstream` ## Upstream - Upstream type: `github` - Upstream project: `google/googletest` - Upstream URL: https://github.com/google/googletest - Detected version: `1.17.0` - Tag/release: `v1.17.0` - Source: `github_release_latest` - Published: `2025-04-30T17:07:52Z` - Release URL: https://github.com/google/googletest/releases/tag/v1.17.0 - Source URL: https://api.github.com/repos/google/googletest/tarball/v1.17.0 - Pre-release: `False` ## Signals - Security-relevant keywords detected: `False` - Policy blocked: `False` - Policy reason: `-` - Labels: `ai-summary, bot, needs-build, needs-triage, priority/medium, update/minor, upstream-update, upstream/github` ## NiceSOFT AI preliminary analysis ### 1. Краткий вывод Upstream-пакет `gtest` обновляется с версии 1.15.2 до 1.17.0, что классифицируется как минорное обновление с добавлением новых флагов и матчеров. Критическим изменением является требование компиляции минимум на C++17, что может нарушить совместимость со старыми инструментами сборки дистрибутива. Прямых указаний на уязвимости безопасности или критические баги в предоставленных данных не обнаружено. ### 2. Риск для НАЙС.ОС **medium**. Основной риск связан с повышением требований к языку программирования (C++17). Если текущая toolchain НАЙС.ОС или базовые заголовки системы не гарантируют полную поддержку C++17 по умолчанию, обновление может привести к ошибкам компиляции зависимостей, использующих `gtest`. Также добавление новых API (`--gtest_fail_if_no_test_linked`, `DistanceFrom()`) требует проверки, не ломаются ли существующие тесты, которые полагаются на поведение по умолчанию. ### 3. Security/CVE Во входных данных отсутствуют признаки security-уязвимостей. Поле `security_keywords_detected_by_script` равно `False`, а в release notes и commit-хешах нет упоминаний исправлений уязвимостей (CVE), патчей безопасности или изменений в механизмах обработки памяти. ### 4. ABI/API риск Нужен ручной ABI/API анализ. Хотя `gtest` часто используется как библиотека для написания тестов, изменения в сигнатурах матчеров (например, поддержка пользовательского `abs()` в `DistanceFrom()`) могут повлиять на код, использующий эти функции. Более того, жесткое требование C++17 меняет контракт компиляции: если ранее тесты компилировались под C++11/14, они теперь могут не собираться без явного указания стандарта в `CXXFLAGS` или `specfile`. ### 5. Риск для RPM-сборки Возможен сбой в этапах `%build` и `%check` пакетов, зависящих от `gtest`. - В `specfile` может потребоваться добавление `-std=c++17` в переменную `CXXFLAGS` или `CXX`, если он там отсутствует. - Пакеты, использующие старые патчи, модифицирующие логику `gtest` (например, отключение определенных фич), могут перестать работать, так как upstream отказывается принимать новые фичи в ветке 1.17.x, но может принять критические фиксы. - Тесты самого пакета `gtest` (`%check`) могут провалиться, если среда тестирования не настроена на C++17. ### 6. Проверки мейнтейнера - [ ] Проверить наличие флага `-std=c++17` в `BuildRequires` или `CXXFLAGS` всех пакетов, зависящих от `gtest`. - [ ] Запустить `%check` для всех зависимых пакетов после обновления. - [ ] Проверить, не используются ли в коде дистрибутива функции `DistanceFrom()` с пользовательским `abs()`, которые могут вести себя иначе. - [ ] Убедиться, что `policy_blocked` остается `False` и нет скрытых блокировок для C++17 зависимостей. - [ ] Проверить актуальность патчей в `specfile` против новых коммитов (особенно учитывая политику upstream не принимать новые фичи). ### 7. Рекомендация update candidate ### 8. Основание рекомендации Обновление классифицировано как `minor` с политикой `leaf`, и скрипт безопасности не обнаружил угроз. Хотя требование C++17 является существенным изменением, оно является эволюционным шагом стандарта, который обычно поддерживается современными дистрибутивами. Риск ограничен возможностью настройки флагов компиляции, что решается в рамках ручного ревью перед включением в репозиторий, поэтому статус "candidate" допустим при условии выполнения проверок из пункта 6. ## Upstream release notes / description # Release Notes GoogleTest will **not** accept patches of new features to the `v1.17.x` branch. We recommend building GoogleTest from the latest commit instead. Exceptional critical bug fixes may be considered. ## C++ Language Support * GoogleTest now requires at least C++17 and follows [Google's Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). See [this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) for a list of currently supported versions compilers, platforms, and build tools. ## Notable Changes * Added a flag `--gtest_fail_if_no_test_linked` that will cause the program to fail if no test case is linked in (https://github.com/google/googletest/commit/54501746a6cfd366b6e7bab3c902e0f8d5826521) * A `DistanceFrom()` matcher is available for general distance comparison (https://github.com/google/googletest/commit/0bdccf4aa2f5c67af967193caf31d42d5c49bde2) and supports a user-defined `abs()` (https://github.com/google/googletest/commit/4ee4b17bf5ae1bf6cdb95693c174b8830898c00b) ## NiceOS maintainer checklist - [ ] Confirm that the detected version is a stable upstream release. - [ ] Check upstream changelog for security fixes, ABI/API changes and build-system changes. - [ ] Check ABI/API compatibility and reverse dependencies. - [ ] Download source into NiceOS lookaside storage. - [ ] Update `Version` and related fields in `SPECS/*.spec` only if policy allows it. - [ ] Regenerate `SOURCES/sources.lock.json`, manifests, metadata and SBOM. - [ ] Build SRPM/RPM in a clean NiceOS buildroot. - [ ] Run package smoke tests. - [ ] Link PR/build logs and close this issue after update or triage. ## Bot metadata - Tool: `niceos_upstream_monitor.py 1.4` - Generated at: `2026-04-27T22:14:10Z`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rpms/gtest#2
No description provided.