docker-ce-packaging icon indicating copy to clipboard operation
docker-ce-packaging copied to clipboard

Build Fedora 40 RPM packages

Open p5 opened this issue 1 year ago • 1 comments

A near identical PR to my previous one which enabled Fedora 39 RPMs (here). I understand this likely cannot be merged until the containerd packaging is enabled, but this should be ready any day now.

Would be great to get both PRs merged before the F40 release next month so users are able to run these pre-release Fedora versions.

I have ran make fedora-40 locally, and this completed successfully. Partial build log:

+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd src
++ /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/libexec/docker/cli-plugins/docker-compose docker-cli-plugin-metadata
++ awk '{ gsub(/[",:]/,"")}; $1 == "Version" { print $2 }'
+ ver=v2.24.6
+ test v2.24.6 = v2.24.6
+ echo 'PASS: docker-compose version OK'
+ RPM_EC=0
PASS: docker-compose version OK
++ jobs -p
+ exit 0
Processing files: docker-compose-plugin-2.24.6-0.fc40.x86_64
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.dx6i3L
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd src
+ DOCDIR=/root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/share/doc/docker-compose-plugin
+ export LC_ALL=
+ LC_ALL=
+ export DOCDIR
+ /usr/bin/mkdir -p /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/share/doc/docker-compose-plugin
+ cp -pr /root/rpmbuild/BUILD/src/docker-compose-plugin-docs/LICENSE /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/share/doc/docker-compose-plugin
+ cp -pr /root/rpmbuild/BUILD/src/docker-compose-plugin-docs/MAINTAINERS /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/share/doc/docker-compose-plugin
+ cp -pr /root/rpmbuild/BUILD/src/docker-compose-plugin-docs/NOTICE /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/share/doc/docker-compose-plugin
+ cp -pr /root/rpmbuild/BUILD/src/docker-compose-plugin-docs/README.md /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/share/doc/docker-compose-plugin
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.2gwzBv
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd src
+ LICENSEDIR=/root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/share/licenses/docker-compose-plugin
+ export LC_ALL=
+ LC_ALL=
+ export LICENSEDIR
+ /usr/bin/mkdir -p /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/share/licenses/docker-compose-plugin
+ cp -pr /root/rpmbuild/BUILD/src/docker-compose-plugin-docs/LICENSE /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/share/licenses/docker-compose-plugin
+ cp -pr /root/rpmbuild/BUILD/src/docker-compose-plugin-docs/NOTICE /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/share/licenses/docker-compose-plugin
+ RPM_EC=0
++ jobs -p
+ exit 0
warning: Missing build-id in /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/libexec/docker/cli-plugins/docker-compose
Provides: docker-compose-plugin = 0:2.24.6-0.fc40 docker-compose-plugin(x86-64) = 0:2.24.6-0.fc40
Requires(interp): /bin/sh /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh
Requires(preun): /bin/sh
Requires(postun): /bin/sh
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.32)(64bit) libc.so.6(GLIBC_2.34)(64bit) libresolv.so.2()(64bit)
Enhances: docker-ce-cli
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64
Wrote: /root/rpmbuild/SRPMS/docker-compose-plugin-2.24.6-0.fc40.src.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/docker-compose-plugin-2.24.6-0.fc40.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.PnoRGe
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd src
+ /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.zXsyck
+ umask 022
+ cd /root/rpmbuild/BUILD
+ rm -rf /root/rpmbuild/BUILD/src-SPECPARTS
+ rm -rf src src.gemspec
+ RPM_EC=0
++ jobs -p
+ exit 0

RPM build warnings:
    line 65: It's not recommended to have unversioned Obsoletes: Obsoletes: docker-ce-selinux
    line 66: It's not recommended to have unversioned Obsoletes: Obsoletes: docker-engine-selinux
    line 67: It's not recommended to have unversioned Obsoletes: Obsoletes: docker-engine
    source_date_epoch_from_changelog set but %changelog is missing
    Missing build-id in /root/rpmbuild/BUILDROOT/docker-ce-0.0.0~20240301173358.35e6a41-0.fc40.x86_64/usr/bin/docker-proxy
    source_date_epoch_from_changelog set but %changelog is missing
    source_date_epoch_from_changelog set but %changelog is missing
    source_date_epoch_from_changelog set but %changelog is missing
    Missing build-id in /root/rpmbuild/BUILDROOT/docker-buildx-plugin-0.12.1-0.fc40.x86_64/usr/libexec/docker/cli-plugins/docker-buildx
    source_date_epoch_from_changelog set but %changelog is missing
    Missing build-id in /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.24.6-0.fc40.x86_64/usr/libexec/docker/cli-plugins/docker-compose
docker run --rm -v /Users/admin/Repos/p5/docker-ce-packaging/feature/enable-fedora-40-builds/rpm:/v -w /v alpine chown -R 501:20 "rpmbuild/fedora-40"

p5 avatar Mar 02 '24 17:03 p5

https://github.com/docker/containerd-packaging/pull/345, the dependency of this PR, has been merged.
I think this should be unblocked.

I have successfully ran the build locally, but I know the F40 RPMs are not tested in CI so the maintainers may need to re-create this PR with their own GitHub account.

p5 avatar Mar 12 '24 17:03 p5

containerd packages for fedora 40 have been deployed; carrying this PR to pick up the changes in the Jenkinsfile;

  • https://github.com/docker/docker-ce-packaging/pull/1005

thaJeztah avatar Mar 19 '24 10:03 thaJeztah

Thank you!

p5 avatar Mar 19 '24 11:03 p5