podman-4.4.1-8.el8
- use ldd directly to check for static link - avoid broken file utility - Related: #2176055 Signed-off-by: Jindrich Novy <jnovy@redhat.com>
This commit is contained in:
		
							parent
							
								
									3e7c9a28d6
								
							
						
					
					
						commit
						f5cc89a29d
					
				
							
								
								
									
										11
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1,10 +1 @@ | ||||
| SOURCES/dnsname-18822f9.tar.gz | ||||
| SOURCES/gvisor-tap-vsock-fdc231ae7b8fe1aec4cf0b8777274fa21b70d789.tar.gz | ||||
| SOURCES/podman-machine-cni-0749884.tar.gz | ||||
| SOURCES/v0.1.7.tar.gz | ||||
| SOURCES/v4.3.1-rhel-d9a6336.tar.gz | ||||
| /dnsname-18822f9.tar.gz | ||||
| /gvisor-tap-vsock-fdc231ae7b8fe1aec4cf0b8777274fa21b70d789.tar.gz | ||||
| /podman-machine-cni-0749884.tar.gz | ||||
| /v0.1.7.tar.gz | ||||
| /v4.3.1-rhel-d9a6336.tar.gz | ||||
| /*.tar.gz | ||||
|  | ||||
| @ -1,7 +0,0 @@ | ||||
| # recipients: jnovy, lsm5, santiago | ||||
| --- !Policy | ||||
| product_versions: | ||||
|   - rhel-9 | ||||
| decision_context: osci_compose_gate | ||||
| rules: | ||||
|   - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} | ||||
							
								
								
									
										50
									
								
								podman.spec
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								podman.spec
									
									
									
									
									
								
							| @ -7,23 +7,21 @@ | ||||
| GO111MODULE=off go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -linkmode=external -compressdwarf=false -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v %{?**}; | ||||
| 
 | ||||
| %global import_path github.com/containers/podman | ||||
| %global branch v4.3.1-rhel | ||||
| %global commit0 d9a633633d23649833438faf8f2ecf7ae2be27fd | ||||
| %global branch v4.4.1-rhel | ||||
| %global commit0 e1703bb7f47675964852173c465769bef9ef4e1b | ||||
| %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) | ||||
| %global cataver 0.1.7 | ||||
| #%%global dnsnamever 1.3.0 | ||||
| %global commit_dnsname 18822f9a4fb35d1349eb256f4cd2bfd372474d84 | ||||
| %global shortcommit_dnsname %(c=%{commit_dnsname}; echo ${c:0:7}) | ||||
| %global gvproxyrepo gvisor-tap-vsock | ||||
| %global gvproxyver 0.4.0 | ||||
| %global commit_gvproxy fdc231ae7b8fe1aec4cf0b8777274fa21b70d789 | ||||
| %global commit_mcni 0749884b8d1a455c68da30789e37811ec0809d51 | ||||
| %global shortcommit_mcni %(c=%{commit_mcni}; echo ${c:0:7}) | ||||
| %global gvproxyver 0.5.0 | ||||
| %global commit_gvproxy aab0ac9367fc5142f5857c36ac2352bcb3c60ab7 | ||||
| 
 | ||||
| Epoch: 3 | ||||
| Name: podman | ||||
| Version: 4.3.1 | ||||
| Release: 2%{?dist} | ||||
| Version: 4.4.1 | ||||
| Release: 8%{?dist} | ||||
| Summary: Manage Pods, Containers and Container Images | ||||
| License: ASL 2.0 and GPLv3+ | ||||
| URL: https://%{name}.io/ | ||||
| @ -35,7 +33,6 @@ Source0: https://%{import_path}/archive/%{commit0}/%{name}-%{version}-%{shortcom | ||||
| Source1: https://github.com/openSUSE/catatonit/archive/v%{cataver}.tar.gz | ||||
| #Source2: https://github.com/containers/dnsname/archive/v%%{dnsnamever}.tar.gz | ||||
| Source2: https://github.com/containers/dnsname/archive/%{commit_dnsname}/dnsname-%{shortcommit_dnsname}.tar.gz | ||||
| Source3: https://github.com/containers/%{name}-machine-cni/archive/%{commit_mcni}/%{name}-machine-cni-%{shortcommit_mcni}.tar.gz | ||||
| Source4: https://github.com/containers/gvisor-tap-vsock/archive/%{commit_gvproxy}/gvisor-tap-vsock-%{commit_gvproxy}.tar.gz | ||||
| # https://fedoraproject.org/wiki/PackagingDrafts/Go#Go_Language_Architectures | ||||
| ExclusiveArch: %{go_arches} | ||||
| @ -62,7 +59,6 @@ BuildRequires: python3 | ||||
| # for catatonit | ||||
| BuildRequires: autoconf | ||||
| BuildRequires: automake | ||||
| BuildRequires: file | ||||
| BuildRequires: gcc | ||||
| BuildRequires: libtool | ||||
| Requires: containers-common >= 2:1-27 | ||||
| @ -187,7 +183,6 @@ pushd catatonit-%{cataver} | ||||
| sed -i '$d' configure.ac | ||||
| popd | ||||
| tar fx %{SOURCE2} | ||||
| tar fx %{SOURCE3} | ||||
| tar fx %{SOURCE4} | ||||
| 
 | ||||
| # this is shipped by skopeo: containers-common subpackage | ||||
| @ -202,11 +197,13 @@ CFLAGS="%{optflags} -fPIE -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURC | ||||
| %{__make} %{?_smp_mflags} | ||||
| # Make sure we *always* build a static binary for catatonit. Otherwise we'll break containers | ||||
| # that don't have the necessary shared libs. | ||||
| file catatonit | grep 'statically linked' | ||||
| if [ $? != 0 ]; then | ||||
| set +e | ||||
| /usr/bin/ldd catatonit | ||||
| if [ $? != 1 ]; then | ||||
|    echo "ERROR: catatonit binary must be statically linked!" | ||||
|    exit 1 | ||||
| fi | ||||
| set -e | ||||
| popd | ||||
| 
 | ||||
| export GO111MODULE=off | ||||
| @ -244,6 +241,9 @@ export BUILDTAGS="seccomp btrfs_noversion exclude_graphdriver_devicemapper exclu | ||||
| export BUILDTAGS="remote $BUILDTAGS" | ||||
| %gobuild -o bin/%{name}-remote %{import_path}/cmd/%{name} | ||||
| 
 | ||||
| # build quadlet | ||||
| %gobuild -o bin/quadlet %{import_path}/cmd/quadlet | ||||
| 
 | ||||
| %{__make} docs | ||||
| 
 | ||||
| # build dnsname plugin | ||||
| @ -259,17 +259,6 @@ export GOPATH=$(pwd)/_build:$(pwd) | ||||
| %gobuild -o bin/dnsname github.com/containers/dnsname/plugins/meta/dnsname | ||||
| popd | ||||
| 
 | ||||
| pushd %{name}-machine-cni-%{commit_mcni} | ||||
| mkdir _build | ||||
| pushd _build | ||||
| mkdir -p src/github.com/containers | ||||
| ln -s ../../../../ src/github.com/containers/%{name}-machine-cni | ||||
| popd | ||||
| ln -s vendor src | ||||
| export GOPATH=$(pwd)/_build:$(pwd) | ||||
| %gobuild -o bin/%{name}-machine github.com/containers/%{name}-machine-cni/plugins/meta/%{name}-machine | ||||
| popd | ||||
| 
 | ||||
| pushd gvisor-tap-vsock-%{commit_gvproxy} | ||||
| mkdir _build | ||||
| pushd _build | ||||
| @ -314,11 +303,6 @@ pushd dnsname-%{commit_dnsname} | ||||
| %{__make} PREFIX=%{_prefix} DESTDIR=%{buildroot} install | ||||
| popd | ||||
| 
 | ||||
| # install machine-cni plugin | ||||
| pushd %{name}-machine-cni-%{commit_mcni} | ||||
| %{__make} PREFIX=%{_prefix} DESTDIR=%{buildroot} install | ||||
| popd | ||||
| 
 | ||||
| # install gvproxy | ||||
| pushd gvisor-tap-vsock-%{commit_gvproxy} | ||||
| install -dp %{buildroot}%{_libexecdir}/%{name} | ||||
| @ -365,6 +349,7 @@ fi | ||||
| %license LICENSE | ||||
| %doc README.md CONTRIBUTING.md install.md transfer.md | ||||
| %{_bindir}/%{name} | ||||
| %{_libexecdir}/%{name}/quadlet | ||||
| %{_libexecdir}/%{name}/rootlessport | ||||
| %{_datadir}/bash-completion/completions/%{name} | ||||
| # By "owning" the site-functions dir, we don't need to Require zsh | ||||
| @ -406,12 +391,13 @@ fi | ||||
| %{_libexecdir}/catatonit/catatonit | ||||
| %dir %{_libexecdir}/podman | ||||
| %{_libexecdir}/podman/catatonit | ||||
| %{_usr}/lib/systemd/system-generators/podman-system-generator | ||||
| %{_usr}/lib/systemd/user-generators/podman-user-generator | ||||
| 
 | ||||
| %files plugins | ||||
| %license dnsname-%{commit_dnsname}/LICENSE | ||||
| %doc dnsname-%{commit_dnsname}/{README.md,README_PODMAN.md} | ||||
| %{_libexecdir}/cni/dnsname | ||||
| %{_libexecdir}/cni/%{name}-machine | ||||
| 
 | ||||
| %files tests | ||||
| %license LICENSE | ||||
| @ -424,6 +410,10 @@ fi | ||||
| %{_libexecdir}/%{name}/gvproxy | ||||
| 
 | ||||
| %changelog | ||||
| * Wed Mar 08 2023 Jindrich Novy <jnovy@redhat.com> - 3:4.4.1-8 | ||||
| - use ldd directly to check for static link - avoid broken file utility | ||||
| - Related: #2176055 | ||||
| 
 | ||||
| * Thu Dec 15 2022 Jindrich Novy <jnovy@redhat.com> - 3:4.3.1-2 | ||||
| - update to the latest content of https://github.com/containers/podman/tree/v4.3.1-rhel | ||||
|   (https://github.com/containers/podman/commit/d9a6336) | ||||
|  | ||||
| @ -1,3 +0,0 @@ | ||||
| --- | ||||
| annocheck: | ||||
|   - hardened: --skip-pie --skip-lto --ignore-unknown --verbose | ||||
							
								
								
									
										5
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								sources
									
									
									
									
									
								
							| @ -1,5 +1,4 @@ | ||||
| SHA512 (dnsname-18822f9.tar.gz) = de371722fbf18cd23b31485ee7ba36bb41d0d9a932d15e50872989c3ca1ff7246da63143c3725d81089fadda3821a54c18b22150d9d16005b07df6824f5f71f8 | ||||
| SHA512 (gvisor-tap-vsock-fdc231ae7b8fe1aec4cf0b8777274fa21b70d789.tar.gz) = 9441a6b0dc64961994ec9c268ad81916c4b88bf5c508c32dc6b0f68a993dc0c57c92304bfaa525aafe6445107314fc6954a65dbfb53432450ac0076d7d68c1ba | ||||
| SHA512 (podman-machine-cni-0749884.tar.gz) = fe5f6a69118c0d3475c76c61bf1b50f1d5772fe9a4d20b23e59010e72f8cbd7fb7d4091ce8ab43af8becf77e5234b63191e3e01932f30f8386235822de2e42f4 | ||||
| SHA512 (gvisor-tap-vsock-aab0ac9367fc5142f5857c36ac2352bcb3c60ab7.tar.gz) = e138125f0fad46f84afebad5769d4428cb29f24ce34e209b21689dc4409487bf2e946c9eb6551297baf36286c9be9a5310a77df4884563cfe247113980f18291 | ||||
| SHA512 (v0.1.7.tar.gz) = 7d3174c60e1c8bd1f4b95b7751ccbe01cac63265060f18914b53311f68f7b4c63c693604f348ccfac5db4a96939169f835fbbbd614803b18062053d94f7dca67 | ||||
| SHA512 (v4.3.1-rhel-d9a6336.tar.gz) = 79a6cd21f7234738edad3d6e1280db9fc318c8ce79fd2863bfeae8dda139d20f1a1d929e945768ba246b499ee0bfce72211e8ea78ba1adca00b28466a9be3cb4 | ||||
| SHA512 (v4.4.1-rhel-e1703bb.tar.gz) = 910dfcdb4cf09b17bac0070d923b11c92ff3ab6995f5e8e811b4ab20481b6ee91d76d10b69384f0375b53f98cf75c205190ba18645bc2a976977f9b86667f263 | ||||
|  | ||||
| @ -1,12 +0,0 @@ | ||||
| --- | ||||
| # Sigh; RHEL8 doesn't have BATS | ||||
| - name: bats | fetch and unpack tarball | ||||
|   unarchive: | ||||
|     src: https://github.com/bats-core/bats-core/archive/v1.5.0.tar.gz | ||||
|     dest: /root | ||||
|     remote_src: true | ||||
| 
 | ||||
| - name: bats | install | ||||
|   command: ./install.sh /usr/local | ||||
|   args: | ||||
|     chdir: /root/bats-core-1.5.0 | ||||
| @ -1,7 +0,0 @@ | ||||
| --- | ||||
| - name: create rootless user | ||||
|   user: | ||||
|     name: testuser | ||||
|     shell: /bin/bash | ||||
| - name: enable linger | ||||
|   command: loginctl enable-linger testuser | ||||
| @ -1,72 +0,0 @@ | ||||
| #!/bin/bash | ||||
| # | ||||
| # Run bats tests for a given $TEST_PACKAGE, e.g. buildah, podman | ||||
| # | ||||
| # This is invoked by the 'run_bats_tests' role; we assume that | ||||
| # the package foo has a foo-tests subpackage which provides the | ||||
| # directory /usr/share/foo/test/system, containing one or more .bats | ||||
| # test files. | ||||
| # | ||||
| 
 | ||||
| export PATH=/usr/local/bin:/usr/sbin:/usr/bin | ||||
| 
 | ||||
| FULL_LOG=/tmp/test.debug.log | ||||
| BATS_LOG=/tmp/test.bats.log | ||||
| rm -f $FULL_LOG $BATS_LOG | ||||
| touch $FULL_LOG $BATS_LOG | ||||
| 
 | ||||
| exec &> $FULL_LOG | ||||
| 
 | ||||
| # Log program versions | ||||
| echo "Packages:" | ||||
| rpm -q ${TEST_PACKAGE} ${TEST_PACKAGE}-tests | ||||
| 
 | ||||
| echo "------------------------------" | ||||
| printenv | sort | ||||
| 
 | ||||
| testdir=/usr/share/${TEST_PACKAGE}/test/system | ||||
| 
 | ||||
| if ! cd $testdir; then | ||||
|     echo "FAIL ${TEST_NAME} : cd $testdir"      >> /tmp/test.log | ||||
|     exit 0 | ||||
| fi | ||||
| 
 | ||||
| if [ -e /tmp/helper.sh ]; then | ||||
|     echo "------------------------------" | ||||
|     echo ". /tmp/helper.sh" | ||||
|     . /tmp/helper.sh | ||||
| fi | ||||
| 
 | ||||
| if [ "$(type -t setup)" = "function" ]; then | ||||
|     echo "------------------------------" | ||||
|     echo "\$ setup" | ||||
|     setup | ||||
|     if [ $? -ne 0 ]; then | ||||
|         echo "FAIL ${TEST_NAME} : setup"       >> /tmp/test.log | ||||
|         exit 0 | ||||
|     fi | ||||
| fi | ||||
| 
 | ||||
| echo "------------------------------" | ||||
| echo "\$ bats ." | ||||
| bats . &> $BATS_LOG | ||||
| rc=$? | ||||
| 
 | ||||
| echo "------------------------------" | ||||
| echo "bats completed with status $rc" | ||||
| 
 | ||||
| status=PASS | ||||
| if [ $rc -ne 0 ]; then | ||||
|     status=FAIL | ||||
| fi | ||||
| 
 | ||||
| echo "${status} ${TEST_NAME}" >> /tmp/test.log | ||||
| 
 | ||||
| if [ "$(type -t teardown)" = "function" ]; then | ||||
|     echo "------------------------------" | ||||
|     echo "\$ teardown" | ||||
|     teardown | ||||
| fi | ||||
| 
 | ||||
| # FIXME: for CI purposes, always exit 0. This allows subsequent tests. | ||||
| exit 0 | ||||
| @ -1,37 +0,0 @@ | ||||
| --- | ||||
| # Create empty results file, world-writable | ||||
| - name: initialize test.log file | ||||
|   copy: dest=/tmp/test.log content='' force=yes mode=0666 | ||||
| 
 | ||||
| - name: execute tests | ||||
|   include: run_one_test.yml | ||||
|   with_items: "{{ tests }}" | ||||
|   loop_control: | ||||
|     loop_var: test | ||||
| 
 | ||||
| - name: pull test.log results | ||||
|   fetch: | ||||
|     src: "/tmp/test.log" | ||||
|     dest: "{{ artifacts }}/test.log" | ||||
|     flat: yes | ||||
| 
 | ||||
| # Copied from standard-test-basic | ||||
| - name: check results | ||||
|   shell: grep "^FAIL" /tmp/test.log | ||||
|   register: test_fails | ||||
|   # Never fail at this step. Just store result of tests. | ||||
|   failed_when: False | ||||
| 
 | ||||
| - name: preserve results | ||||
|   set_fact: | ||||
|     role_result_failed: "{{ (test_fails.stdout|d|length > 0) or (test_fails.stderr|d|length > 0) }}" | ||||
|     role_result_msg: "{{ test_fails.stdout|d('tests failed.') }}" | ||||
| 
 | ||||
| - name: display results | ||||
|   vars: | ||||
|     msg: | | ||||
|        Tests failed: {{ role_result_failed|d('Undefined') }} | ||||
|        Tests msg: {{ role_result_msg|d('None') }} | ||||
|   debug: | ||||
|     msg: "{{ msg.split('\n') }}" | ||||
|   failed_when: "role_result_failed|bool" | ||||
| @ -1,52 +0,0 @@ | ||||
| --- | ||||
| - name: "{{ test.name }} | install test packages" | ||||
|   dnf: name="{{ test.package }}-tests" state=installed | ||||
| 
 | ||||
| - name: "{{ test.name }} | define helper variables" | ||||
|   set_fact: | ||||
|     test_name_oneword: "{{ test.name | replace(' ','-') }}" | ||||
| 
 | ||||
| # UGH. This is necessary because our caller sets some environment variables | ||||
| # and we need to set a few more based on other caller variables; then we | ||||
| # need to combine the two dicts when running the test. This seems to be | ||||
| # the only way to do it in ansible. | ||||
| - name: "{{ test.name }} | define local environment" | ||||
|   set_fact: | ||||
|     local_environment: | ||||
|       TEST_NAME:    "{{ test.name }}" | ||||
|       TEST_PACKAGE: "{{ test.package }}" | ||||
|       TEST_ENV:     "{{ test.environment }}" | ||||
| 
 | ||||
| - name: "{{ test.name }} | setup/teardown helper | see if exists" | ||||
|   local_action: stat path={{ role_path }}/files/helper.{{ test_name_oneword }}.sh | ||||
|   register: helper | ||||
| 
 | ||||
| - name: "{{ test.name }} | setup/teardown helper | install" | ||||
|   copy: src=helper.{{ test_name_oneword }}.sh dest=/tmp/helper.sh | ||||
|   when: helper.stat.exists | ||||
| 
 | ||||
| - name: "{{ test.name }} | run test" | ||||
|   script: ./run_bats_tests.sh | ||||
|   args: | ||||
|     chdir: /usr/share/{{ test.package }}/test/system | ||||
|   become: "{{ true if test.become is defined else false }}" | ||||
|   become_user: testuser | ||||
|   environment: "{{ local_environment | combine(test.environment) }}" | ||||
| 
 | ||||
| - name: "{{ test.name }} | pull logs" | ||||
|   fetch: | ||||
|     src: "/tmp/test.{{ item }}.log" | ||||
|     dest: "{{ artifacts }}/test.{{ test_name_oneword }}.{{ item }}.log" | ||||
|     flat: yes | ||||
|   with_items: | ||||
|     - bats | ||||
|     - debug | ||||
| 
 | ||||
| - name: "{{ test.name }} | remove remote logs and helpers" | ||||
|   file: | ||||
|     dest=/tmp/{{ item }} | ||||
|     state=absent | ||||
|   with_items: | ||||
|     - test.bats.log | ||||
|     - test.debug.log | ||||
|     - helper.sh | ||||
| @ -1,25 +0,0 @@ | ||||
| --- | ||||
| - hosts: localhost | ||||
|   tags:  classic | ||||
|   vars: | ||||
|   - artifacts: ./artifacts | ||||
|   roles: | ||||
|   - role: bats_installed | ||||
|   - role: rootless_user | ||||
|   - role: run_bats_tests | ||||
|     tests: | ||||
|     - name:    podman root | ||||
|       package: podman | ||||
|       environment: | ||||
|         PODMAN: /usr/bin/podman | ||||
| 
 | ||||
|     - name:    podman rootless | ||||
|       package: podman | ||||
|       environment: | ||||
|         PODMAN: /usr/bin/podman | ||||
|       become:  true | ||||
| 
 | ||||
|       #- name:    podman-remote root | ||||
|       #package: podman | ||||
|       #environment: | ||||
|       #  PODMAN: /usr/bin/podman-remote | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user