input/aardvark-dns.spec
raw · 5.0 KiB
%global with_debug 0
%if 0%{?with_debug}
%global _find_debuginfo_dwz_opts %{nil}
%global _dwz_low_mem_die_limit 0
%else
%global debug_package %{nil}
%endif
Name: aardvark-dns
Epoch: 1
Version: 1.17.1
Release: 1%{?dist}
Summary: Authoritative DNS server for A/AAAA container records
Summary(ru): Авторитативный DNS-сервер для A/AAAA записей контейнеров
License: Apache-2.0 AND MIT AND Zlib
URL: https://github.com/containers/aardvark-dns
ExclusiveArch: aarch64 ppc64le s390x x86_64
# RU: Исходники и «вендор» для офлайн-сборки.
# EN: Sources and vendored dependencies for offline builds.
Source0: https://github.com/containers/aardvark-dns/archive/refs/tags/v%{version}.tar.gz#%{name}-%{version}.tar.gz
Source1: https://github.com/containers/aardvark-dns/releases/download/v%{version}/aardvark-dns-v%{version}-vendor.tar.gz
Packager: NICE SOFT GROUP LLC (ООО "НАЙС СОФТ ГРУПП") 5024245440 <niceos@ncsgp.ru>
Vendor: NiceSOFT
Distribution: NiceOS.Core
BugURL: https://bugs.niceos.ru/
VCS: https://specs.niceos.ru/rmps/%{name}
BuildRequires: cargo
BuildRequires: git
BuildRequires: make
%description
Aardvark-dns is a lightweight authoritative DNS server for containers. It is
used together with netavark to resolve container names and can forward other
queries to the system resolvers.
%description -l ru
Aardvark-dns — лёгкий авторитативный DNS-сервер для контейнеров. Используется
вместе с netavark для резолвинга имён контейнеров и умеет пересылать «прочие»
запросы к системным резолверам.
%package tests
Summary: Tests for %{name}
Summary(ru): Тесты для %{name}
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: bats
Requires: bind-utils
Requires: dnsmasq
Requires: jq
Requires: netavark
Requires: nmap-ncat
%description -n %{name}-tests
This subpackage contains system tests for aardvark-dns and is only intended to
be used for gating and CI runs.
%description -l ru -n %{name}-tests
Подпакет содержит системные тесты aardvark-dns и предназначен только для
прогонки/гейтинга и CI.
%prep
%autosetup -n %{name}-%{version}
# RU: Разворачиваем вендорные зависимости и настраиваем cargo на офлайн-режим.
# EN: Unpack vendored dependencies and configure cargo for offline mode.
tar -xf %{SOURCE1}
if [ -d "%{name}-v%{version}-vendor/vendor" ]; then
mv "%{name}-v%{version}-vendor/vendor" ./vendor
# RU: (Необязательно) сохраняем метаданные вендоринга, если нужны как документация.
# EN: (Optional) keep vendoring metadata if it is useful as documentation.
cp -af "%{name}-v%{version}-vendor"/cargo-vendor.txt . 2>/dev/null || :
cp -af "%{name}-v%{version}-vendor"/LICENSE* . 2>/dev/null || :
rm -rf "%{name}-v%{version}-vendor"
fi
mkdir -p .cargo
cat > .cargo/config <<'EOF'
[source.crates-io]
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"
EOF
%build
# RU: Офлайн-сборка с локальным vendor.
# EN: Offline build with local vendor directory.
export CARGO_NET_OFFLINE=true
export CARGO_HOME=%{_builddir}/.cargo_home
%{__make} CARGO="cargo" build
%install
%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install
# RU: Упаковываем тестовые сценарии (как в upstream).
# EN: Package test scenarios (as in upstream).
%{__install} -d -p %{buildroot}%{_datadir}/%{name}/test
%{__cp} -rp test/* %{buildroot}%{_datadir}/%{name}/test/
%{__rm} -rf %{buildroot}%{_datadir}/%{name}/test/tmt/
%check
# RU: Тесты на этапе %check не запускаем (оставляем пусто, чтобы rpmlint не ругался).
# EN: Do not run tests in %check (keep it non-empty to avoid rpmlint warnings).
:
%files
%license LICENSE
# RU: Если в %prep сохранили эти файлы — можно раскомментировать.
# EN: If these files were preserved in %prep, they can be uncommented.
# %license LICENSE.dependencies
# %license cargo-vendor.txt
%dir %{_libexecdir}/podman
%{_libexecdir}/podman/%{name}
%files tests
%{_datadir}/%{name}/test
%changelog
* Tue Apr 28 2026 NiceOS Team <support@niceos.ru> - 1.17.1-1
- EN: - Update aardvark-dns to 1.17.1 to fix CVE-2026-35406 (infinite loop on malformed TCP packets)
- RU: - Обновление aardvark-dns до 1.17.1 для исправления CVE-2026-35406 (бесконечный цикл при получении некорректных TCP-пакетов)
* Sun Jan 11 2026 NiceOS Team <niceos@ncsgp.ru> - 1.15.0-1
- Initial build for NiceOS (Первая сборка для НАЙС.ОС)