From 68a1332a3f99a598c45f4962db7fdabe02f45df3 Mon Sep 17 00:00:00 2001 From: Ross Williams Date: Sat, 9 Oct 2021 02:28:17 +0000 Subject: [PATCH] pkgng: use hand-generated test package Instead of relying on a broken-ish installation of an older package from FreeBSD 11, hand-generate a package named `zsh` with no contents and a version number of `0`. It can be installed on any architecture and any revision of FreeBSD sucessfully, and it will always be eligible for upgrade. --- ...release-manifests-20210413__FreeBSD_11.pkg | Bin 7244 -> 0 bytes .../+COMPACT_MANIFEST | 1 + .../zsh_test_package_manifests/+MANIFEST | 1 + .../integration/targets/pkgng/tasks/main.yml | 29 ++++++++---------- 4 files changed, 14 insertions(+), 17 deletions(-) delete mode 100644 tests/integration/targets/pkgng/files/freebsd-release-manifests-20210413__FreeBSD_11.pkg create mode 100644 tests/integration/targets/pkgng/files/zsh_test_package_manifests/+COMPACT_MANIFEST create mode 100644 tests/integration/targets/pkgng/files/zsh_test_package_manifests/+MANIFEST diff --git a/tests/integration/targets/pkgng/files/freebsd-release-manifests-20210413__FreeBSD_11.pkg b/tests/integration/targets/pkgng/files/freebsd-release-manifests-20210413__FreeBSD_11.pkg deleted file mode 100644 index 7fb291a8f5cff0ef4aa74b983f36defcdd782842..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7244 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 a0i`&A-~s^NqgZXR#Ao{g000001X)^MsXBWA diff --git a/tests/integration/targets/pkgng/files/zsh_test_package_manifests/+COMPACT_MANIFEST b/tests/integration/targets/pkgng/files/zsh_test_package_manifests/+COMPACT_MANIFEST new file mode 100644 index 0000000000..86613b56ed --- /dev/null +++ b/tests/integration/targets/pkgng/files/zsh_test_package_manifests/+COMPACT_MANIFEST @@ -0,0 +1 @@ +{"name":"zsh","origin":"shells/zsh","version":"0","comment":"The Z shell (bogus test package)","maintainer":"bapt@FreeBSD.org","www":"https://www.zsh.org/","abi":"FreeBSD:*:*","arch":"freebsd:*:*","prefix":"/usr/local","flatsize":0,"licenselogic":"single","licenses":["ZSH"],"desc":"Zsh is the Swiss Army knife of shells. It combines the most popular\nfeatures of every other shell, and then lets you customize every\ninch of it. Users of bourne-style and C-style shells will feel at\nhome in it.\n\nZsh does intelligent completion, spell-checking, has a rich syntax\nfor precise globbing, and is fully extensible through plugin\nsystems.\n\nTo fire up the zsh completion system, type the following commands:\n\n\t$ autoload -U compinstall\n\t$ compinstall\n\nWWW: https://www.zsh.org/","categories":["shells"]} diff --git a/tests/integration/targets/pkgng/files/zsh_test_package_manifests/+MANIFEST b/tests/integration/targets/pkgng/files/zsh_test_package_manifests/+MANIFEST new file mode 100644 index 0000000000..37ae7ed49d --- /dev/null +++ b/tests/integration/targets/pkgng/files/zsh_test_package_manifests/+MANIFEST @@ -0,0 +1 @@ +{"name":"zsh","origin":"shells/zsh","version":"0","comment":"The Z shell (bogus test package)","maintainer":"bapt@FreeBSD.org","www":"https://www.zsh.org/","abi":"FreeBSD:*:*","arch":"freebsd:*:*","prefix":"/usr/local","flatsize":0,"licenselogic":"single","licenses":["ZSH"],"desc":"Zsh is the Swiss Army knife of shells. It combines the most popular\nfeatures of every other shell, and then lets you customize every\ninch of it. Users of bourne-style and C-style shells will feel at\nhome in it.\n\nZsh does intelligent completion, spell-checking, has a rich syntax\nfor precise globbing, and is fully extensible through plugin\nsystems.\n\nTo fire up the zsh completion system, type the following commands:\n\n\t$ autoload -U compinstall\n\t$ compinstall\n\nWWW: https://www.zsh.org/","categories":["shells"],"files":{}} diff --git a/tests/integration/targets/pkgng/tasks/main.yml b/tests/integration/targets/pkgng/tasks/main.yml index 595433692c..36df68b9c5 100644 --- a/tests/integration/targets/pkgng/tasks/main.yml +++ b/tests/integration/targets/pkgng/tasks/main.yml @@ -114,33 +114,28 @@ ## - name: Install intentionally out-of-date package and upgrade it # - # NOTE: The out-of-date package provided is from the FreeBSD 11 package repo. - # FreeBSD 11 was EOL at the time of writing, 2021-10-08, so this test - # will only run on FreeBSD major versions > 11. + # NOTE: The out-of-date package provided is a minimal, + # no-contents test package that declares zsh with + # a version of 0, so it should always be upgraded. # # This test might fail at some point in the - # future if the pkg utility in a FreeBSD version > 14 - # makes breaking changes that prevents it from installing + # future if the FreeBSD package format receives + # breaking changes that prevent pkg from installing # older package formats. # - # If that occurs, the fix is to replace - # `files/freebsd-release-manifests-20210413__FreeBSD_11.pkg` - # with the version of freebsd-release-manifests from the oldest - # non-breaking release of FreeBSD, update the - # references to it in tasks/main.yml accordingly, - # and update the minimum version number for the test, - # immediately below. - # when: ansible_distribution_version is version('12.0', '>=') block: - - name: Copy intentionally out-of-date package to testhost + - name: Copy intentionally out-of-date package manifest to testhost copy: - src: freebsd-release-manifests-20210413__FreeBSD_11.pkg + src: zsh_test_package_manifests dest: /tmp/ follow: yes - - name: Force-install out-of-date package - command: pkg add -f /tmp/freebsd-release-manifests-20210413__FreeBSD_11.pkg + - name: Create out-of-date test package + command: tar -C /tmp/zsh_test_package_manifests -cJf /tmp/zsh-0__test.pkg +COMPACT_MANIFEST +MANIFEST + + - name: Install out-of-date test package + command: pkg add /tmp/zsh-0__test.pkg register: pkgng_example4_prepare - name: Check for any available package upgrades (checkmode)