From 350765e79069ec09b115a1bd50544063ade61bef Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Fri, 14 Jan 2022 13:34:16 -0500 Subject: Add rpkg template for COPR autobuild This commit removes .autocopr/podman.spec in favor of podman.spec.rpkg to account for new recommendations for COPR builds. The build process now enables debug packages and also uses `%gobuild` instead of `make` or `go build` to get the packages as close as possible to Fedora koji builds. https://lists.fedoraproject.org/archives/list/copr-devel@lists.fedorahosted.org/message/3JORYRKDWFMJSR35Z4LIKDEXH2T5263H/ [NO NEW TESTS NEEDED] Signed-off-by: Lokesh Mandvekar --- .autocopr/README | 5 -- .autocopr/podman.spec | 210 -------------------------------------------------- 2 files changed, 215 deletions(-) delete mode 100644 .autocopr/README delete mode 100644 .autocopr/podman.spec (limited to '.autocopr') diff --git a/.autocopr/README b/.autocopr/README deleted file mode 100644 index 791fe8262..000000000 --- a/.autocopr/README +++ /dev/null @@ -1,5 +0,0 @@ -Enable COPR: -sudo dnf copr enable rhcontainerbot/podman-next - -Install podman: -sudo dnf install podman -y diff --git a/.autocopr/podman.spec b/.autocopr/podman.spec deleted file mode 100644 index 45f6c14d8..000000000 --- a/.autocopr/podman.spec +++ /dev/null @@ -1,210 +0,0 @@ -%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 - -%global provider github -%global provider_tld com -%global project containers -%global repo %{name} -# https://github.com/containers/%%{name} -%global import_path %{provider}.%{provider_tld}/%{project}/%{repo} -%global git0 https://%{import_path} - -Name: podman -Epoch: 100 -Version: 4 -%define build_datestamp %{lua: print(os.date("%Y%m%d"))} -%define build_timestamp %{lua: print(os.date("%H%M%S"))} -Release: %{build_datestamp}.%{build_timestamp} -Summary: Manage Pods, Containers and Container Images -License: ASL 2.0 -URL: https://%{name}.io/ -Source0: %{git0}/archive/main.tar.gz -Provides: %{name}-manpages = %{epoch}:%{version}-%{release} -%if 0%{?fedora} && ! 0%{?rhel} -BuildRequires: btrfs-progs-devel -%endif -BuildRequires: gcc -BuildRequires: golang >= 1.16.6 -BuildRequires: glib2-devel -BuildRequires: glibc-devel -BuildRequires: glibc-static -BuildRequires: git-core -BuildRequires: golang-github-cpuguy83-md2man -BuildRequires: go-rpm-macros -BuildRequires: gpgme-devel -BuildRequires: libassuan-devel -BuildRequires: libgpg-error-devel -BuildRequires: libseccomp-devel -BuildRequires: libselinux-devel -%if 0%{?fedora} >= 35 -BuildRequires: shadow-utils-subid-devel -%endif -BuildRequires: pkgconfig -BuildRequires: make -BuildRequires: ostree-devel -BuildRequires: systemd -BuildRequires: systemd-devel -Requires: conmon >= 2:2.0.30-2 -%if 0%{?fedora} -Requires: containers-common >= 4:1-21 -%else -Requires: containers-common >= 2:1-13 -%endif -Requires: containernetworking-plugins >= 1.0.0-15.1 -Requires: iptables -Requires: nftables -Recommends: %{name}-plugins -Recommends: catatonit -Suggests: qemu-user-static - -%description -%{name} (Pod Manager) is a fully featured container engine that is a simple -daemonless tool. %{name} provides a Docker-CLI comparable command line that -eases the transition from other container engines and allows the management of -pods, containers and images. Simply put: alias docker=%{name}. -Most %{name} commands can be run as a regular user, without requiring -additional privileges. - -%{name} uses Buildah(1) internally to create container images. -Both tools share image (not container) storage, hence each can use or -manipulate images (but not containers) created by the other. - -%{summary} -%{repo} Simple management tool for pods, containers and images - -%package docker -Summary: Emulate Docker CLI using %{name} -BuildArch: noarch -Requires: %{name} = %{epoch}:%{version}-%{release} -Conflicts: docker -Conflicts: docker-latest -Conflicts: docker-ce -Conflicts: docker-ee -Conflicts: moby-engine - -%description docker -This package installs a script named docker that emulates the Docker CLI by -executes %{name} commands, it also creates links between all Docker CLI man -pages and %{name}. - -%package tests -Summary: Tests for %{name} -Requires: %{name} = %{epoch}:%{version}-%{release} -Requires: bats -Requires: jq -Requires: skopeo -Requires: nmap-ncat -Requires: httpd-tools -Requires: openssl -Requires: socat -Requires: buildah -Requires: gnupg - -%description tests -%{summary} - -This package contains system tests for %{name} - -%package remote -Summary: (Experimental) Remote client for managing %{name} containers - -%description remote -Remote client for managing %{name} containers. - -This experimental remote client is under heavy development. Please do not -run %{name}-remote in production. - -%{name}-remote uses the version 2 API to connect to a %{name} client to -manage pods, containers and container images. %{name}-remote supports ssh -connections as well. - -%prep -%autosetup -n %{name}-main - -%build -make all docker-docs - -%install -PODMAN_VERSION=%{version} %{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} ETCDIR=%{buildroot}%{_sysconfdir} \ - install.bin-nobuild \ - install.man-nobuild \ - install.systemd \ - install.completions \ - install.docker \ - install.docker-docs-nobuild \ - install.remote-nobuild \ - -mv pkg/hooks/README.md pkg/hooks/README-hooks.md - - -# do not include docker and podman-remote man pages in main package -for file in `find %{buildroot}%{_mandir}/man[15] -type f | sed "s,%{buildroot},," | grep -v -e remote -e docker`; do - echo "$file*" >> podman.file-list -done - -# install tests -install -d -p %{buildroot}/%{_datadir}/%{name}/test/system -cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/ - -%check - -#define license tag if not already defined -%{!?_licensedir:%global license %doc} - -%files -f %{name}.file-list -%license LICENSE -%doc README.md CONTRIBUTING.md pkg/hooks/README-hooks.md install.md transfer.md -%{_bindir}/%{name} -%dir %{_libexecdir}/%{name} -%{_libexecdir}/%{name}/rootlessport -%{_datadir}/bash-completion/completions/%{name} -# By "owning" the site-functions dir, we don't need to Require zsh -%dir %{_datadir}/zsh/site-functions -%{_datadir}/zsh/site-functions/_%{name} -%dir %{_datadir}/fish/vendor_completions.d -%{_datadir}/fish/vendor_completions.d/%{name}.fish -%{_unitdir}/%{name}-auto-update.service -%{_unitdir}/%{name}-auto-update.timer -%{_unitdir}/%{name}.service -%{_unitdir}/%{name}.socket -%{_unitdir}/%{name}-restart.service -%{_userunitdir}/%{name}-auto-update.service -%{_userunitdir}/%{name}-auto-update.timer -%{_userunitdir}/%{name}.service -%{_userunitdir}/%{name}.socket -%{_userunitdir}/%{name}-restart.service -%{_usr}/lib/tmpfiles.d/%{name}.conf - -%files docker -%{_bindir}/docker -%{_mandir}/man1/docker*.1* -%{_mandir}/man5/docker*.5* -%{_usr}/lib/tmpfiles.d/%{name}-docker.conf - -%files remote -%license LICENSE -%{_bindir}/%{name}-remote -%{_mandir}/man1/%{name}-remote*.* -%{_datadir}/bash-completion/completions/%{name}-remote -%dir %{_datadir}/fish/vendor_completions.d -%{_datadir}/fish/vendor_completions.d/%{name}-remote.fish -%dir %{_datadir}/zsh/site-functions -%{_datadir}/zsh/site-functions/_%{name}-remote - -%files tests -%license LICENSE -%{_datadir}/%{name}/test - -%triggerpostun -- %{name} <= 3.2 -rm -f %{_sharedstatedir}/containers/storage/libpod/defaultCNINetExists -exit 0 - -%changelog -* Fri Dec 03 2021 Lokesh Mandvekar - %{version}-%{release} -- auto copr build -- cgit v1.2.3-54-g00ecf