182 Commits

Author SHA1 Message Date
e4636ebdc8 Makefile: install targets independent of build
Building from source would involve separate `make` and `make install`
steps.

This removes a lot of unnecessary `-nobuild` targets which were
otherwise needed for packaging.

This commit also removes spec files for unused copr jobs.

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2022-01-25 08:27:44 -05:00
5934e4c9b5 infra container: replace pause with catatonit
Podman has been using catatonit for a number of years already.
Thanks to @giuseppe, catatonit is now able to run as a pause
process which allows us to replace the pause binary entirely.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-15 12:53:25 +01:00
58cf0d4622 Revert "add kubernetes pause"
This reverts commit 9d2b8d2791c23b83b6155b046099a83483860c56 since
catatonit's new pause functionality can replace the `pause` binary
entirely.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-11-15 12:53:25 +01:00
6762d5e238 --authfile command line argument for image sign command.
Adds the --authfile command line argument to allow users to use
alternative authfile paths when signing images.

Replaces: https://github.com/containers/podman/pull/10975
Fixes: https://github.com/containers/podman/issues/10866

Signed-off-by: José Guilherme Vanz <jvanz@jvanz.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-11-11 15:11:19 -05:00
9d2b8d2791 add kubernetes pause
Add the k8s pause binary to `pause/pause.c` and do the plumbing in the
Makefile to install it in $libexec/podman/pause/pause.  It is intended to
replace the k8s pause image and hence the need for network connectivity
when creating pods.

[NO NEW TESTS NEEDED] since it will be tested in a following commit.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-10-26 13:51:45 +02:00
3ba69dccf7 rootlessport: reduce memory usage of the process
Don't use reexec for the rootlessport process, instead make it a
separate binary to reduce the memory usage. The problem with reexec is
that it will import all packages that podman uses and therefore loads a
lot of stuff into the heap. The rootlessport process however only needs
the rootlesskit library.
The memory usage is a concern since the rootlessport process will spawn
two process per container which has ports forwarded. The processes stay
until the container dies. On my laptop the current reexec version uses
47800 KB RSS. The new separate binary only uses 4540 KB RSS. This is
more than a 90% improvement.

The Makefile has been updated to compile the new binary and install it
to the libexec directory.

Fixes #10790

[NO TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-10-12 21:43:11 +02:00
69b6659960 Unit files: Use actual installed path for podman
Don't hardcode /usr/bin/podman in unit files: instead, use
template files with a path replaced at install time.

Because 'make' can be invoked repeatedly, with different
PREFIX, do not leave the generated files behind in our
work directory: wipe them immediately after install.

To get this to work, fix a longstanding bug in podman.spec.in,
a PREFIX that should've been DESTDIR.

Side note: #7023 made contrib/systemd/user a symlink
to .../system but did not update paths in Makefile.
The unrelated-looking path change you see here is
a belated correction for that.

Fixes: #10787

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-10-12 07:57:26 -06:00
1edada477d Makefile: remove install.cni
We no longer need to install /etc/cni/net.d/87-podman-bridge.conflist
so install.cni isn't needed either.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-06-28 14:52:23 -04:00
302b3084eb Restart all containers with restart-policy=always on boot
* Add podman-restart systemd unit file and add it to podman RPM package
* Fix podman start to filter all containers + unit test

Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
2021-06-13 15:04:34 +03:00
a2b842df4a Version bump: 3.3.0-dev
Keep master branch version ahead of that on any other branch.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-06-07 10:36:13 -04:00
501b4751a3 Fix build with GO111MODULE=off
Distro builds on Fedora and Kubic projects use GO111MODULE=off
by default which are currently failing. This commit fixes it and
going forward, podman CI will also indicate failures in rpm builds.

The additional LDFLAGS have been removed  from the spec file
which is not ideal. But, currently we only use the spec file
to check if the rpm builds fine. We can fix the LDFLAGS in a
later commit when we're working on packit integration.

conmon build has also been removed from podman.spec.in because the COPR
for which it was provided has been discontinued.

[NO TESTS NEEDED]

Fixes: #10009

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-04-15 14:24:39 -04:00
637c5d55e1 Bump to v3.2.0-dev
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2021-03-29 14:03:04 -04:00
e926b5d73e Bump to v3.1.0-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-03-08 15:45:43 -05:00
aa9616cd4d Bump to v3.1.0-rc1
Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-03-08 15:45:40 -05:00
21deafba85 hardening flags for fedora rpmbuilds
This commit sets the CGO_CFLAGS variable for hardening the Fedora rpm
binaries.

The flags used are the same as those in the official Fedora rpms.
Setting the flags in upstream spec would provide early warnings for
flag adjustments or other hardening issues.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-02-09 15:48:43 -05:00
e71ff84b30 Fix support for rpmbuild < 4.12.0.
Signed-off-by: Thomas Montague <montague.thomas@gmail.com>
2020-12-18 13:58:48 -05:00
e3f0b7db75 Merge pull request #8400 from rhatdan/varlink
Remove varlink support from podman
2020-12-01 15:30:06 +01:00
12f835d125 Bump master to v3.0.0-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-11-30 16:33:18 -05:00
f62a356515 Remove varlink support from Podman
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-11-26 16:50:42 -05:00
ae3816614d Install the new shell completion logic
Add a new make target (completion) to generate the shell
completion scripts. This will generate the scripts for bash,
zsh and fish for both podman and podman-remote with `podman completion`.
The scripts are put into the completions directory and can be
installed system wide with `sudo make install.completions`.

This commit replaces the current handwritten scripts for bash and zsh.

The `validate.completion` target has been adjusted to make sure nobody
edits these scripts directly.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-11-12 11:40:29 +01:00
3daef2e826 Use /tmp/podman-run-* for backup XDG_RUNTIME_DIR
We need to block systemd from cleaning up this directory
by dropping a /usr/lib/tmpfiles.d/podman.conf file in place.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-11-04 15:32:00 -05:00
20d90320fc Bump to v2.2.0-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-09-22 11:16:48 -04:00
c817e5ab2b add xz as a recommended pkg
xz package is required by buildah and podman when building a
image and ADD a tar.xz file archive is used

See https://github.com/containers/buildah/issues/2525

Signed-off-by: Job Cespedes Ortiz <jobcespedes@gmail.com>
2020-08-11 14:57:34 -06:00
efcc2f5b18 Install auto-update services for users
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-08-03 13:12:07 +02:00
4384de9e6b Fix test failure regarding unpackaged files.
Signed-off-by: Peter Oliver <git@mavit.org.uk>
2020-08-03 13:12:06 +02:00
a5e37ad280 Switch all references to github.com/containers/libpod -> podman
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-07-28 08:23:45 -04:00
bd858dd8dc Bump master to v2.1.0-dev following release of v2.0
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-06-19 15:55:42 -04:00
2ffb703d1b Fix builds for RDO
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-11 08:55:19 -04:00
48d2bea1a3 RHEL8 and Centos8 don't have oci-runtime yet
For the time being we need to just require runc
this should fix rdoproject.org/github-check

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-03 06:32:58 -04:00
69020c7040 Bump Conmon in COPR spec
We need 2.0.17 for detached remote exec.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-02 15:30:42 -04:00
8a914e8a0b default build without varlink tag
Issue gh#6286 was already fixed in a prior commit but the Makefile still
ran some varlink steps by default.

This commit makes any varlink build steps dependent on the varlink
build tag and also makes the contrib rpm spec file independent of
varlink.

Endpoint tests will be run only if BUILDTAGS contains varlink.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-05-29 14:38:33 -04:00
837b80bc07 Default podman.spec to use crun
On systems with cgroupV2 runc will not currently work
switch the default in spec file to use crun.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-14 09:38:29 -04:00
b5ea00b4f7 [CI:DOCS]remove libpod.conf from spec
in the contrib rpm.spec.in, we no longer should try to package libpod.conf

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-13 11:54:34 -05:00
440e97c2c0 Remove libpod.conf from repo
Now that we're shipping containers.conf, we don't want to provide
a libpod.conf anymore. This removes libpod.conf from the repo and
as many direct uses as I can find.

There are a few more mentions in the documentation, but someone
more familiar with containers.conf should make those edits.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-05-12 14:15:44 -04:00
c10bd7c11f Makefile: include -nobuild install targets
Distro packaging often uses non-default build and linker flags.
The current Makefile cannot be used in the package build process as it
will end up rebuilding the binaries with the default flags.

This commit introduces install targets which do not depend on the build
targets. Distro packages should prefer these if they want to use any
non-default flags.

NOTE: This commit effectively leaves prior targets unchanged, so users
won't notice any difference.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-04-23 13:08:25 -04:00
4489440aaf Bump to v2.0.0-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-04-15 10:51:33 -04:00
f1397abb9b Bump to v1.9.0-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-04-13 09:47:17 -04:00
cbb5652a53 Bump to v1.9.0-rc1
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-04-13 09:47:17 -04:00
4d66704211 Merge pull request #5683 from larsks/bug/rpm-systemd-tag
add systemd build tag to podman builds
2020-03-31 22:37:15 +02:00
2753df2973 add systemd build tag to podman builds
Without the systemd build tag, podman will fail with the error "No
support for journald logging".

This commit adds the `systemd` build tag explicitly, rather than
relying on `hack/systemd_tag.sh` (because we're building an rpm and
we've explicitly included systemd-devel as a dependency).

Signed-off-by: Lars Kellogg-Stedman <lars@redhat.com>
2020-03-31 09:42:42 -04:00
7a12e01556 V2 Move varlink home
* move cmd/podman/varlink/* to pkg/varlink to support podmanV2 refactor
* update Makefile
* reformatted all impacted code

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-03-30 08:18:35 -07:00
8ab686f0e0 Add APIV2 service files
Also fix issue in pods_test.go

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-20 09:09:42 -04:00
aef32407eb Bump to v1.8.3-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-03-19 13:38:44 -04:00
8877fed86e Bump to v1.8.2-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-03-11 10:16:16 -04:00
90d70f2cbf add epoch for specfile
to get the copr rpms to jive better with the fedora rpms, we need to set an epoch.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-25 15:02:39 -06:00
86b5a89d1a Merge pull request #5068 from baude/newimagestest
replace prow images test
2020-02-11 17:33:35 +01:00
2800323e60 replace prow images test
this is a container-based approach to verifying we can build an rpm based on the contrib spec.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-10 18:44:20 -06:00
fc1d67a5f6 [CI:DOCS] Update Code of Conduct to Containers variant
As the title says.  I renamed the old file from the lower case to the
upper case name.  This makes it appear higher up in the listing on GitHub
and also is in line with the rest of the containers projects.  Due to this
change, I also had to change a few references in a couple of build related
files.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-02-10 14:01:02 -05:00
dc940f90d8 Bump to v1.8.1-dev
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-02-06 17:22:58 -05:00
a98c36df1a Bump to v1.8.0-dev
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-01-31 12:45:02 -05:00