Commit Graph

677 Commits (main)

Author SHA1 Message Date
JiaLing Zhang c03256e23c Add LoongArch support for libpod
Change Makefile.

[NO NEW TESTS NEEDED]

Signed-off-by: JiaLing Zhang <zhangjialing@loongson.cn>
2024-03-21 15:56:25 +08:00
renovate[bot] 5e017a87a0
[CI:DOCS] Update dependency golangci/golangci-lint to v1.57.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 21:08:23 +00:00
renovate[bot] c66400f624
[CI:DOCS] Update dependency golangci/golangci-lint to v1.57.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 15:54:55 +00:00
Cedric Staniewski 7711833827 Makefile: add target `podman-remote-static`
This allows to build a static `podman-remote` binary for the host architecture.

Signed-off-by: Cedric Staniewski <cedric@gmx.ca>
2024-03-16 17:04:35 +01:00
Paul Holzinger dbf38779bd
Makefile: drop tests-included from validate target
make validate should work locally, this check makes no sense in a local
context as it checks for a github label.
To fix this remove this check from the validate target and only use it
as part of the CI validate run.

While at it remove old dnf install step, the issue has been closed for a
long time and it should already be part of our base images.

Fixes #22031

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-03-13 18:17:43 +01:00
Brent Baude d7bc7b7b41 do not require policy.json
we are having second thoughts about *requiring* a policy.json on podman
machine hosts.  we are concerned that we need to work out some more use
cases to be sure we do not make choices now that limit us in the near
term future. for example, should the policy files be the same for
container images and machine images? And should one live on the host
machine and the other live in the machine?

therefore, if a policy.json *is* present in the correct location, we will use and honor it; however, if it does not, we will allow the machine image to be pulled without a policy.

Signed-off-by: Brent Baude <baude@redhat.com>
Co-authored-by: Paul Holzinger <45212748+Luap99@users.noreply.github.com>
Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-03-13 09:07:51 -05:00
Jason T. Greene d54a373996 Complete policy.json inclusion
- Sets default search location to always be the peer directory
  + make podman-remote now creates binaries that work the same as release zips
- Updates release zip to match expected search location
- Updates win installer to include the file if present in the repo cross-build
  archive

[NO NEW TESTS NEEDED]

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2024-03-07 14:05:22 -06:00
Paul Holzinger 02403c2e6d
Makefile: podman should have correct selinux label
pasta only works when we run as container_runtime_exec_t, now that pasta
is the default this means that the current binary will not work when
doing local dev without manually fixing the label.

There are also other parts where the correct label is important. So as a
simple fix always set the proper label in the bin/podman target.
This also means we can drop this line from the hack/bats script.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-03-05 11:08:23 +01:00
Ed Santiago 530782e11d logformatter: fixes for Macintosh
Lots of small special-case tweaks to logformatter because Macs
have to be different.

Also fix:
 - Wrong slash in printf-newline, leading to gray [It] blocks
 - echo gitCommit, so we can link to sources
 - --image-path is deprecated

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-03-04 05:52:00 -07:00
Paul Holzinger e32c9bb5e9
Makefile: add machine policy.json to podman-remote.zip
This config needs to be included for podman machine pulls to work and
set MACHINE_POLICY_JSON_DIR so that the file should be located next to
the binary.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-02-27 15:31:15 +01:00
Paul Holzinger f5a2683192
Makefile: add MACHINE_POLICY_JSON_DIR option
Allow users to set MACHINE_POLICY_JSON_DIR to the policy.json directory
which is used for podman machine pulls.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-02-27 15:29:59 +01:00
Doug Rabson 5327ddfdf2 Build with CNI support on FreeBSD
This is needed until there is netavark support on FreeBSD

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2024-02-20 12:57:45 +00:00
renovate[bot] 8be1c0b042
[CI:DOCS] Update dependency golangci/golangci-lint to v1.56.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-16 14:08:05 +00:00
openshift-merge-bot[bot] 4304e1075a
Merge pull request #21626 from containers/renovate/golangci-golangci-lint-1.x
[CI:DOCS] Update dependency golangci/golangci-lint to v1.56.1
2024-02-13 19:38:08 +00:00
renovate[bot] 7f2d8ae80b [CI:DOCS] Update dependency golangci/golangci-lint to v1.56.1
Disable the `perfsprint` and `typecheck` linters as they are too noisy.
There are some good issues worthy of fixing but it's too time consuming
at the moment.  Hence, let's unblock the PR.

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2024-02-13 11:02:56 +01:00
openshift-merge-bot[bot] fcd69c997e
Merge pull request #21542 from jakecorrenti/bump-gvproxy
Enable passing logfile to gvproxy
2024-02-12 21:49:41 +00:00
Daniel J Walsh ad55ba6eb2
Handle DOCKER_HOST environment for podman-docker package
Rootless users should be defaulted to point DOCKER_HOST at
$XDG_RUNTIME_DIR/podman/podman.sock

When podman-docker package is installed.

[NO NEW TESTS NEEDED]

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-02-12 16:05:38 -05:00
Daniel J Walsh 36853c0d06
Consistant handling DESTDIR variable expansion
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-02-12 16:03:49 -05:00
Matt Heon 72f1617fac Bump Go module to v5
Moving from Go module v4 to v5 prepares us for public releases.

Move done using gomove [1] as with the v3 and v4 moves.

[1] https://github.com/KSubedi/gomove

Signed-off-by: Matt Heon <mheon@redhat.com>
2024-02-08 09:35:39 -05:00
Jake Correnti 69d54c482e Bump gvisor-tap-vsock from 0.7.2 to 0.7.3
Bump the gvisor-tap-vsock version that podman uses from 0.7.2 to 0.7.3

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2024-02-08 08:31:50 -05:00
Daniel J Walsh 8d14d41555
Run codespell on code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-01-28 07:30:52 -05:00
Ed Santiago a5612bc540 Quadlet: ensure all keys are documented
New CI validation check: all keys in quadlet.go must be
documented at least once in podman-systemd.unit.5.md.
Adding '// deprecated' next to an enum definition will
exclude said key from the documentation cross-checks.

And, because the md file lists keys in both table and block
form, make sure those all match.

And make sure everything is sorted in lexical order, in
both .go source and in man page.

And add a validation check to make sure it stays that way.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-01-18 06:17:57 -07:00
Christophe Fergeau c566551e96 gvproxy: Update to 0.7.2 release
This updates the Windows installer and macOS installer to ship the newer
binaries, as well as the vendored gvisor-tap-vsock code.

[NO NEW TESTS NEEDED]

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2024-01-17 16:59:35 +01:00
Ygal Blum c315c8e74e Makefile - make sure gitvalidation is installed before calling it
[NO NEW TESTS NEEDED]

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-01-02 12:09:12 +02:00
Daniel J Walsh 4dd58f226d
Move golang requirement from 1.18 to 1.20
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-12-18 07:29:31 -05:00
Chris Evich 2d46d05373
Implement bare-metal Mac M1 podman-machine testing
Setup and execute podman machine testing on bare-metal M1 Macs
using a pool of shared and semi-persistent hosts.  Automated
and manual processes outside this repository are responsible
for providing and maintaining all hosts.  Ref.
https://github.com/containers/automation/tree/main/mac_pw_pool

Update the `localmachine` make target to standardize execution
across platforms.  Update/simplify podman-machine e2e README to
reflect current reality.

Warning: This CI setup and supporting infrastructure was developed
in favor of expediency vs reliability and stability.  There are
many possible failure-modes (known and unknown) which may lead
to undefined test behaviors.  Future work may address some of
these as they are encountered or discovered.

[NO NEW TESTS NEEDED]

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-12-04 10:40:13 -05:00
renovate[bot] 6b7d7f6fb8
[CI:DOCS] Update dependency golangci/golangci-lint to v1.55.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-03 14:43:53 +00:00
renovate[bot] 9ea1ed6d49
[CI:DOCS] Update dependency golangci/golangci-lint to v1.55.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-25 10:48:36 +00:00
Ygal Blum 0e15861c59 Makefile - allow more control over Ginkgo parameters
Allow the user to control flake retry and color output
Update README

Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2023-10-25 09:48:36 +03:00
renovate[bot] 1ac1108356
[CI:DOCS] Update dependency golangci/golangci-lint to v1.55.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-20 16:28:48 +02:00
Chris Evich e0561301c9
[CI:DOCS] Add cross-build target info.
In case a future maintainer asks "why" all these weird looking
four-letter architectures are present here and in CI.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-10-17 14:23:21 -04:00
openshift-ci[bot] fdf3e4b23d
Merge pull request #20202 from cfergeau/gvproxy
windows: Use prebuilt gvproxy/win-sshproxy binaries
2023-10-03 05:24:19 +00:00
Christophe Fergeau cc946daff4 windows: Use prebuilt gvproxy/win-sshproxy binaries
Since gvisor-tap-vsock 0.7.1, the upstream project ships pre-built
Windows binaries for gvproxy and win-sshproxy. These binaries are built
with -Hwindowsgui as needed by podman.

This makes the same change in winmake.ps1, but I had to hardcode
gvisor-tap-vsock version in one more place.

[NO NEW TESTS NEEDED]

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2023-10-02 14:17:50 +02:00
Rahil Bhimjiani 229734c10a
remove selinux tag as not needed anymore
I'm not sure about apparmor tag. Atleast runc isn't using it anymore.

"apparmor (since runc v1.0.0-rc93 the feature is always enabled)" from https://github.com/opencontainers/runc

containers-common still seems to check for apparmor, so not touching it for now.

Signed-off-by: Rahil Bhimjiani <rahil3108@gmail.com>
2023-09-30 21:56:57 +05:30
Ashley Cui 149d3f7ad0 [CI:DOCS] Add win-sshproxy target to winmake
Winmake file now builds win-sshproxy and gvproxy

Signed-off-by: Ashley Cui <acui@redhat.com>
2023-09-27 13:52:01 -04:00
OpenShift Merge Robot 5be2357a50
Merge pull request #19917 from afbjorklund/unix-url
Use url with scheme and path for the unix address
2023-09-18 16:38:01 +02:00
Daniel J Walsh b1e3e8d972
Run codespell on code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-09-14 06:13:23 -04:00
Anders F Björklund 336055fe3b Use url with scheme and path for the unix address
Shortcuts like unix:path and unix:/path do not work everywhere,
so make sure to use unix://path when quoting the url (or address)

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2023-09-11 07:55:12 +02:00
renovate[bot] e9539768ca
chore(deps): update dependency golangci/golangci-lint to v1.54.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-21 13:49:46 +00:00
OpenShift Merge Robot 4ae71e0d86
Merge pull request #19582 from arixmkii/gvproxy-0.7.0
Bump bundled gvproxy to 0.7.0
2023-08-16 16:27:21 -02:30
Michal Biesek 1d5890bcd5
Add riscv64 architecture to the cross build target
[NO NEW TESTS NEEDED]

Signed-off-by: Michal Biesek <michalbiesek@gmail.com>
2023-08-15 15:29:29 +02:00
renovate[bot] b6349017af
chore(deps): update dependency golangci/golangci-lint to v1.54.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-11 13:40:49 +00:00
Arthur Sengileyev 1947f035cb Bump bundled gvproxy to 0.7.0
Signed-off-by: Arthur Sengileyev <arthur.sengileyev@gmail.com>
2023-08-10 10:21:09 +03:00
renovate[bot] 3963c56398
chore(deps): update dependency golangci/golangci-lint to v1.54.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-09 12:50:44 +00:00
Doug Rabson 018fdb48ed Makefile: work around the lack of 'man -l' on FreeBSD
The mandoc(1) utility is used for this on FreeBSD systems. This fixes a
confusing (but harmless) series of error messages when building manpages
on FreeBSD.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2023-08-07 10:36:15 +01:00
Chris Evich def70012b9
Limit git-validation to 'short-subject'
This tool sometimes throws nonsensical or difficult to debug errors.
Verifying DCO and white-space issues in commits has long since been
moved to other tools (github-actions and git pre-commit hooks).  There's
no need to duplicate these checks with the git-validation tool.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-08-01 11:24:59 -04:00
Ed Santiago dfec510b41 go-md2man: use vendored-in version, not system
go-md2man is fragile, especially around tables (#18678, #19278).
Podman man pages are finely tuned to look OK using v2.02, which
is what we vendor in test/tools, so we should really use it
instead of whatever is installed on the system.

This fixes 'make docs' on RHEL8, broken as of #19278.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-07-26 09:07:21 -06:00
Ed Santiago a92bb32196 CI: use different TMPDIR on prior-fedora
A small number of tests are assuming that TMPDIR == /tmp. These
tests fail when that assumption does not hold.

Set TMPDIR=/var/tmp on prior-fedora, as a way to catch those.
/dev/shm would be a slightly better choice, because the
string "tmp" does not appear it in, but it's way too
small to be of any use: it fills up in the e2e prefetch.

This PR exposed a nasty bug in our Makefile: using "TMPDIR"
as temporary variable completely unrelated to (and inconsistent
with) the actual established use of TMPDIR. Solution: rename
that variable and make it lower case. Do the same with two
other ALL-CAP variables.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-07-26 07:08:07 -06:00
Jason T. Greene 2f21df7b3a Remove legacy msitools based msi installer
This was replaced by the setup.exe burn installer several releases ago,
and only kept around as a fallback. Remove it since it is no longer
maintained and not recommended for use.

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-07-24 15:21:30 -05:00
Ed Santiago 11ffea313b Man pages: check for corrupt tables
Every so often we hear reports of a corrupt man page table,
where columns are misaligned in nonsensical ways. The
traditional symptom looks like:

   |----------------|--------------|
   | option name    |              |
   |----------------|--------------|
   |                | description  |
   |----------------|--------------|

Cause: one of the tools in the man page generation chain,
maybe 'man' itself, has an undocumented length limit on
table cells, _and_ an undocumented page width as well.
If you exceed these undocumented limits, you get corrupt
man pages. Silently.

This adds a horrible test for those. And I mean horrible:

  - unreadable
  - unmaintainable
  - unreliable (heuristic, no guarantees)
  - slows down 'make docs' (less than a second, but still)

I've tested by adding long '| sdf sdf | dsf |' rows to
a few man pages, and it triggers. That's the only good
thing I can say about it.

Other approaches I tried:
  - man -l -Tascii | grep non-ascii-art
  - man -l ... 2>&1 | grep "table wider than"
  - perusing the generated .1/.5 pages, seeing if my eye
    can detect something different about too-long cells
  - same, using 'tbl'
  - checking for too-long cells in the source document

...and more that I've forgotten. This was the only way
that produced reliable errors. If you have a better way,
please oh please submit it.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-07-18 14:43:01 -06:00