diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index edf038e..112807c 100644 --- a/.gitignore +++ b/.gitignore @@ -10,39 +10,3 @@ /aardvark-dns-v1.0.3-vendor.tar.gz /aardvark-dns-v1.1.0-vendor.tar.gz /v1.1.0.tar.gz -/aardvark-dns-v1.2.0-vendor.tar.gz -/v1.2.0.tar.gz -/aardvark-dns-v1.3.0-vendor.tar.gz -/v1.3.0.tar.gz -/aardvark-dns-v1.4.0-vendor.tar.gz -/v1.4.0.tar.gz -/aardvark-dns-v1.5.0-vendor.tar.gz -/v1.5.0.tar.gz -/aardvark-dns-v1.6.0-vendor.tar.gz -/v1.6.0.tar.gz -/v1.7.0.tar.gz -/aardvark-dns-v1.7.0-vendor.tar.gz -/v1.8.0.tar.gz -/aardvark-dns-v1.8.0-vendor.tar.gz -/v1.9.0.tar.gz -/aardvark-dns-v1.9.0-vendor.tar.gz -/v1.10.0.tar.gz -/aardvark-dns-v1.10.0-vendor.tar.gz -/v1.11.0.tar.gz -/aardvark-dns-v1.11.0-vendor.tar.gz -/aardvark-dns-v1.12.1-vendor.tar.gz -/v1.12.1.tar.gz -/v1.12.2.tar.gz -/aardvark-dns-v1.12.2-vendor.tar.gz -/v1.13.0.tar.gz -/aardvark-dns-v1.13.0-vendor.tar.gz -/v1.13.1.tar.gz -/aardvark-dns-v1.13.1-vendor.tar.gz -/v1.14.0.tar.gz -/aardvark-dns-v1.14.0-vendor.tar.gz -/v1.15.0.tar.gz -/aardvark-dns-v1.15.0-vendor.tar.gz -/v1.16.0.tar.gz -/aardvark-dns-v1.16.0-vendor.tar.gz -/v1.17.0.tar.gz -/aardvark-dns-v1.17.0-vendor.tar.gz diff --git a/.packit.yaml b/.packit.yaml deleted file mode 100644 index 89d1cee..0000000 --- a/.packit.yaml +++ /dev/null @@ -1,148 +0,0 @@ ---- -# See the documentation for more information: -# https://packit.dev/docs/configuration/ - -downstream_package_name: aardvark-dns -upstream_tag_template: v{version} - -# These files get synced from upstream to downstream (Fedora / CentOS Stream) on every -# propose-downstream job. This is done so tests maintained upstream can be run -# downstream in Zuul CI and Bodhi. -# Ref: https://packit.dev/docs/configuration#files_to_sync -files_to_sync: - - src: rpm/gating.yaml - dest: gating.yaml - delete: true - - src: plans/ - dest: plans/ - delete: true - mkpath: true - - src: test/tmt - dest: test/tmt - delete: true - mkpath: true - - src: .fmf/ - dest: .fmf/ - delete: true - - .packit.yaml - -packages: - aardvark-dns-fedora: - pkg_tool: fedpkg - specfile_path: rpm/aardvark-dns.spec - aardvark-dns-centos: - pkg_tool: centpkg - specfile_path: rpm/aardvark-dns.spec - aardvark-dns-eln: - specfile_path: rpm/aardvark-dns.spec - -srpm_build_deps: - - cargo - - git-archive-all - - make - - openssl-devel - -# https://packit.dev/docs/configuration/actions -# fix-spec-file only operates on copr builds and doesn't affect official distro builds -actions: - fix-spec-file: "bash .packit-copr-rpm.sh" - -jobs: - - job: copr_build - trigger: pull_request - packages: [aardvark-dns-fedora] - notifications: &copr_build_failure_notification - failure_comment: - message: "Ephemeral COPR build failed. @containers/packit-build please check." - targets: &fedora_copr_targets - - fedora-all-x86_64 - - fedora-all-aarch64 - enable_net: true - osh_diff_scan_after_copr_build: false - - - job: copr_build - trigger: pull_request - packages: [aardvark-dns-eln] - notifications: *copr_build_failure_notification - targets: - fedora-eln-x86_64: - additional_repos: - - "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/x86_64/" - fedora-eln-aarch64: - additional_repos: - - "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/aarch64/" - enable_net: true - - - job: copr_build - trigger: pull_request - packages: [aardvark-dns-centos] - notifications: *copr_build_failure_notification - targets: ¢os_copr_targets - - centos-stream-9-x86_64 - - centos-stream-9-aarch64 - - centos-stream-10-x86_64 - - centos-stream-10-aarch64 - enable_net: true - - # Run on commit to main branch - - job: copr_build - trigger: commit - packages: [aardvark-dns-fedora] - notifications: - failure_comment: - message: "podman-next COPR build failed. @containers/packit-build please check." - branch: main - owner: rhcontainerbot - project: podman-next - enable_net: true - - # Tests on Fedora - - job: tests - trigger: pull_request - packages: [aardvark-dns-fedora] - notifications: &test_failure_notification - failure_comment: - message: "Tests failed. @containers/packit-build please check." - targets: *fedora_copr_targets - tf_extra_params: - environments: - - artifacts: - - type: repository-file - id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/fedora-$releasever/rhcontainerbot-podman-next-fedora-$releasever.repo - - # Tests on CentOS Stream - - job: tests - trigger: pull_request - packages: [aardvark-dns-centos] - notifications: *test_failure_notification - targets: *centos_copr_targets - tf_extra_params: - environments: - - artifacts: - - type: repository-file - id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/centos-stream-$releasever/rhcontainerbot-podman-next-centos-stream-$releasever.repo - - # Sync to Fedora - - job: propose_downstream - trigger: release - packages: [aardvark-dns-fedora] - update_release: false - dist_git_branches: &fedora_targets - - fedora-all - - # Sync to CentOS Stream - - job: propose_downstream - trigger: release - packages: [aardvark-dns-centos] - update_release: false - dist_git_branches: - - c10s - - c9s - - - job: koji_build - trigger: commit - packages: [aardvark-dns-fedora] - sidetag_group: netavark-releases - dependents: - - netavark - dist_git_branches: *fedora_targets diff --git a/README.packit b/README.packit deleted file mode 100644 index e03362b..0000000 --- a/README.packit +++ /dev/null @@ -1,3 +0,0 @@ -This repository is maintained by packit. -https://packit.dev/ -The file was generated using packit 1.12.0.post1.dev13+gd51655c23. diff --git a/aardvark-dns.spec b/aardvark-dns.spec index 08b71ac..7698896 100644 --- a/aardvark-dns.spec +++ b/aardvark-dns.spec @@ -1,50 +1,135 @@ # trust-dns-{client,server} not available # using vendored deps -%global with_debug 1 - -%if 0%{?with_debug} -%global _find_debuginfo_dwz_opts %{nil} -%global _dwz_low_mem_die_limit 0 -%else +# debuginfo doesn't work yet %global debug_package %{nil} -%endif + +%global built_tag v1.1.0 Name: aardvark-dns -%if %{defined copr_username} -Epoch: 102 +Version: 1.1.0 +%if "%{_vendor}" == "debbuild" +Packager: Lokesh Mandvekar +License: ASL-2.0+ +Release: 0%{?dist} %else -Epoch: 2 -%endif -# DO NOT TOUCH the Version string! -# The TRUE source of this specfile is: -# https://github.com/containers/podman/blob/main/rpm/podman.spec -# If that's what you're reading, Version must be 0, and will be updated by Packit for -# copr and koji builds. -# If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.17.0 -# The `AND` needs to be uppercase in the License for SPDX compatibility -License: Apache-2.0 AND MIT AND Zlib +License: ASL 2.0 and BSD and MIT Release: %autorelease -%if %{defined golang_arches_future} -ExclusiveArch: %{golang_arches_future} -%else -ExclusiveArch: aarch64 ppc64le s390x x86_64 +ExclusiveArch: %{rust_arches} %endif Summary: Authoritative DNS server for A/AAAA container records URL: https://github.com/containers/%{name} -# Tarballs fetched from upstream's release page -Source0: %{url}/archive/v%{version}.tar.gz -Source1: %{url}/releases/download/v%{version}/%{name}-v%{version}-vendor.tar.gz +Source0: %{url}/archive/%{built_tag}.tar.gz +Source1: %{url}/releases/download/%{built_tag}/%{name}-%{built_tag}-vendor.tar.gz BuildRequires: cargo +%if "%{_vendor}" == "debbuild" +BuildRequires: git +%else BuildRequires: git-core BuildRequires: make -%if %{defined rhel} -# rust-toolset requires the `local` repo enabled on non-koji ELN build environments -BuildRequires: rust-toolset -%else -BuildRequires: rust-packaging BuildRequires: rust-srpm-macros +# cargo tree --prefix none | awk '{print "Provides: bundled(crate("$1")) = "$2}' | sort | uniq +Provides: bundled(crate(aardvark-dns)) = v1.0.3 +Provides: bundled(crate(aho-corasick)) = v0.7.18 +Provides: bundled(crate(anyhow)) = v1.0.57 +Provides: bundled(crate(async-broadcast)) = v0.4.0 +Provides: bundled(crate(async-trait)) = v0.1.53 +Provides: bundled(crate(atty)) = v0.2.14 +Provides: bundled(crate(autocfg)) = v1.1.0 +Provides: bundled(crate(bitflags)) = v1.3.2 +Provides: bundled(crate(bytes)) = v1.1.0 +Provides: bundled(crate(cfg-if)) = v1.0.0 +Provides: bundled(crate(chrono)) = v0.4.19 +Provides: bundled(crate(clap)) = v3.1.15 +Provides: bundled(crate(clap_derive)) = v3.1.7 +Provides: bundled(crate(clap_lex)) = v0.2.0 +Provides: bundled(crate(data-encoding)) = v2.3.2 +Provides: bundled(crate(easy-parallel)) = v3.2.0 +Provides: bundled(crate(endian-type)) = v0.1.2 +Provides: bundled(crate(enum-as-inner)) = v0.4.0 +Provides: bundled(crate(env_logger)) = v0.9.0 +Provides: bundled(crate(error-chain)) = v0.12.4 +Provides: bundled(crate(event-listener)) = v2.5.2 +Provides: bundled(crate(form_urlencoded)) = v1.0.1 +Provides: bundled(crate(futures-channel)) = v0.3.21 +Provides: bundled(crate(futures-core)) = v0.3.21 +Provides: bundled(crate(futures-executor)) = v0.3.21 +Provides: bundled(crate(futures-io)) = v0.3.21 +Provides: bundled(crate(futures-macro)) = v0.3.21 +Provides: bundled(crate(futures-task)) = v0.3.21 +Provides: bundled(crate(futures-util)) = v0.3.21 +Provides: bundled(crate(getrandom)) = v0.2.6 +Provides: bundled(crate(hashbrown)) = v0.11.2 +Provides: bundled(crate(heck)) = v0.4.0 +Provides: bundled(crate(hostname)) = v0.3.1 +Provides: bundled(crate(humantime)) = v2.1.0 +Provides: bundled(crate(idna)) = v0.2.3 +Provides: bundled(crate(indexmap)) = v1.8.1 +Provides: bundled(crate(instant)) = v0.1.12 +Provides: bundled(crate(ipnet)) = v2.5.0 +Provides: bundled(crate(itoa)) = v1.0.1 +Provides: bundled(crate(lazy_static)) = v1.4.0 +Provides: bundled(crate(libc)) = v0.2.125 +Provides: bundled(crate(lock_api)) = v0.4.7 +Provides: bundled(crate(log)) = v0.4.17 +Provides: bundled(crate(match_cfg)) = v0.1.0 +Provides: bundled(crate(matches)) = v0.1.9 +Provides: bundled(crate(memchr)) = v2.5.0 +Provides: bundled(crate(mio)) = v0.8.2 +Provides: bundled(crate(nibble_vec)) = v0.1.0 +Provides: bundled(crate(num-integer)) = v0.1.45 +Provides: bundled(crate(num-traits)) = v0.2.15 +Provides: bundled(crate(num_cpus)) = v1.13.1 +Provides: bundled(crate(num_threads)) = v0.1.6 +Provides: bundled(crate(once_cell)) = v1.10.0 +Provides: bundled(crate(os_str_bytes)) = v6.0.0 +Provides: bundled(crate(parking_lot)) = v0.12.0 +Provides: bundled(crate(parking_lot_core)) = v0.9.3 +Provides: bundled(crate(percent-encoding)) = v2.1.0 +Provides: bundled(crate(pin-project-lite)) = v0.2.9 +Provides: bundled(crate(pin-utils)) = v0.1.0 +Provides: bundled(crate(ppv-lite86)) = v0.2.16 +Provides: bundled(crate(proc-macro-error)) = v1.0.4 +Provides: bundled(crate(proc-macro-error-attr)) = v1.0.4 +Provides: bundled(crate(proc-macro2)) = v1.0.37 +Provides: bundled(crate(quick-error)) = v1.2.3 +Provides: bundled(crate(quote)) = v1.0.18 +Provides: bundled(crate(radix_trie)) = v0.2.1 +Provides: bundled(crate(rand)) = v0.8.5 +Provides: bundled(crate(rand_chacha)) = v0.3.1 +Provides: bundled(crate(rand_core)) = v0.6.3 +Provides: bundled(crate(regex)) = v1.5.5 +Provides: bundled(crate(regex-syntax)) = v0.6.25 +Provides: bundled(crate(resolv-conf)) = v0.7.0 +Provides: bundled(crate(scopeguard)) = v1.1.0 +Provides: bundled(crate(serde)) = v1.0.137 +Provides: bundled(crate(serde_derive)) = v1.0.137 +Provides: bundled(crate(signal-hook)) = v0.3.13 +Provides: bundled(crate(signal-hook-registry)) = v1.4.0 +Provides: bundled(crate(slab)) = v0.4.6 +Provides: bundled(crate(smallvec)) = v1.8.0 +Provides: bundled(crate(socket2)) = v0.4.4 +Provides: bundled(crate(strsim)) = v0.10.0 +Provides: bundled(crate(syn)) = v1.0.92 +Provides: bundled(crate(syslog)) = v6.0.1 +Provides: bundled(crate(termcolor)) = v1.1.3 +Provides: bundled(crate(textwrap)) = v0.15.0 +Provides: bundled(crate(thiserror)) = v1.0.31 +Provides: bundled(crate(thiserror-impl)) = v1.0.31 +Provides: bundled(crate(time)) = v0.3.9 +Provides: bundled(crate(tinyvec)) = v1.6.0 +Provides: bundled(crate(tinyvec_macros)) = v0.1.0 +Provides: bundled(crate(tokio)) = v1.18.1 +Provides: bundled(crate(tokio-macros)) = v1.7.0 +Provides: bundled(crate(toml)) = v0.5.9 +Provides: bundled(crate(trust-dns-client)) = v0.21.2 +Provides: bundled(crate(trust-dns-proto)) = v0.21.2 +Provides: bundled(crate(trust-dns-server)) = v0.21.2 +Provides: bundled(crate(unicode-bidi)) = v0.3.8 +Provides: bundled(crate(unicode-normalization)) = v0.1.19 +Provides: bundled(crate(unicode-xid)) = v0.2.3 +Provides: bundled(crate(url)) = v2.2.2 +Provides: bundled(crate(version_check)) = v0.9.4 %endif %description @@ -53,67 +138,31 @@ BuildRequires: rust-srpm-macros Forwards other request to configured resolvers. Read more about configuration in `src/backend/mod.rs`. -%package tests -Summary: Tests for %{name} - -Requires: %{name} = %{epoch}:%{version}-%{release} -Requires: bats -Requires: bind-utils -Requires: jq -Requires: netavark -Requires: socat -Requires: dnsmasq - -%description tests -%{summary} - -This package contains system tests for %{name} and is only intended to be used -for gating tests. - %prep -%autosetup -Sgit %{name}-%{version} -# Following steps are only required on environments like koji which have no -# network access and thus depend on the vendored tarball. Copr pulls -# dependencies directly from the network. -%if !%{defined copr_username} +%autosetup -Sgit tar fx %{SOURCE1} -%if 0%{?fedora} || 0%{?rhel} >= 10 -%cargo_prep -v vendor -%else -%cargo_prep -V 1 -%endif -%endif +mkdir -p .cargo + +cat >.cargo/config << EOF +[source.crates-io] +replace-with = "vendored-sources" + +[source.vendored-sources] +directory = "vendor" +EOF %build -%{__make} CARGO="%{__cargo}" build -%if (0%{?fedora} || 0%{?rhel} >= 10) && !%{defined copr_username} -%cargo_license_summary -%{cargo_license} > LICENSE.dependencies -%cargo_vendor_manifest -%endif +%{__make} build %install %{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install -%{__install} -d -p %{buildroot}%{_datadir}/%{name}/test -%{__cp} -rp test/* %{buildroot}%{_datadir}/%{name}/test/ -%{__rm} -rf %{buildroot}%{_datadir}/%{name}/test/tmt/ - -# Add empty check section to silence rpmlint warning. -# No tests meant to be run here. -%check - %files %license LICENSE -%if (0%{?fedora} || 0%{?rhel} >= 10) && !%{defined copr_username} -%license LICENSE.dependencies -%license cargo-vendor.txt -%endif %dir %{_libexecdir}/podman %{_libexecdir}/podman/%{name} -%files tests -%{_datadir}/%{name}/test - %changelog +%if "%{_vendor}" != "debbuild" %autochangelog +%endif diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index 1fb3172..0000000 --- a/gating.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- !Policy -product_versions: - - fedora-* -decision_contexts: - - bodhi_update_push_stable - - bodhi_update_push_testing -subject_type: koji_build -rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} - ---- !Policy -product_versions: - - rhel-* -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/plans/main.fmf b/plans/main.fmf deleted file mode 100644 index 2b884e7..0000000 --- a/plans/main.fmf +++ /dev/null @@ -1,33 +0,0 @@ -discover: - how: fmf -execute: - how: tmt -prepare: - - when: distro == centos-stream or distro == rhel - how: shell - script: | - dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm --eval '%{?rhel}').noarch.rpm - dnf -y config-manager --set-enabled epel - order: 10 - - when: initiator == packit - how: shell - script: | - COPR_REPO_FILE="/etc/yum.repos.d/*podman-next*.repo" - if compgen -G $COPR_REPO_FILE > /dev/null; then - sed -i -n '/^priority=/!p;$apriority=1' $COPR_REPO_FILE - fi - dnf -y upgrade --allowerasing - order: 20 - -/no-rpm: - summary: Run tests independent of rpm - discover+: - filter: tag:no-rpm - adjust+: - - enabled: false - when: initiator is not defined or initiator != packit - -/rpm: - summary: Run tests on the rpm - discover+: - filter: tag:rpm diff --git a/sources b/sources index 413dc03..1b8d3a2 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (v1.17.0.tar.gz) = 42e3a261bb5b9df83b8bb853ed50dd7dfda643895262aedf5ccdc865c598e913996a244d234ac309a18ee1a884b7ba847679dfe5d8b6521e674114c8aba552da -SHA512 (aardvark-dns-v1.17.0-vendor.tar.gz) = b7ec2a2a34d5bb36dbcc55611dc9ec0ff2c1bed4469cc4b12d4eb0bd78bb7d6cae6f80a02ac32ade5c435fdd11e22ddd99646aa4de504c8369ee56cfa470e6a5 +SHA512 (aardvark-dns-v1.1.0-vendor.tar.gz) = b2c28eb900efc0a4b1c9d39db334ee4613c518689b5a86ea97b8d543ab69331c07c02963339f7c91ec0a2510f8cad0e7efcd4db570f9ed3df77953a85bf91ee2 +SHA512 (v1.1.0.tar.gz) = 96acfac34f6cb894dc7ea170d74de6342da95d345f4109703e0d57ff98662968251fafde8e8a4f5c047a6ff4725ca632b598d024b6660d7dc4a07afeffdee26a diff --git a/test/tmt/tmt/main.fmf b/test/tmt/tmt/main.fmf deleted file mode 100644 index 9210cc8..0000000 --- a/test/tmt/tmt/main.fmf +++ /dev/null @@ -1,26 +0,0 @@ -/validate: - tag: [ no-rpm, validate ] - summary: Validate test - test: make -C ../.. validate - require: - - clippy - - rustfmt - -/unit: - tag: [ no-rpm, unit ] - summary: Unit tests - test: make -C ../.. unit - require: - - cargo - -/integration: - tag: [ rpm, integration ] - summary: Integration tests - test: bash test_integration.sh - environment: - AARDVARK: /usr/libexec/podman/aardvark-dns - require: - - aardvark-dns-tests - adjust: - duration: 10m - when: arch == aarch64 diff --git a/test/tmt/tmt/test_integration.sh b/test/tmt/tmt/test_integration.sh deleted file mode 100644 index 0839800..0000000 --- a/test/tmt/tmt/test_integration.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -exo pipefail - -rpm -q aardvark-dns aardvark-dns-tests netavark - -cd /usr/share/aardvark-dns/ -bats test/