Commit Graph

24831 Commits

Author SHA1 Message Date
Kir Kolyshkin
4eb75f68cf test/e2e: fix unused linter warning
This is shown when golangci-lint is run with --tests=false

> test/e2e/config.go:7:2: var fedoraMinimal is unused (unused)
> 	fedoraMinimal     = "quay.io/libpod/systemd-image:20240124"
> 	^
> test/e2e/config.go:18:2: var volumeTest is unused (unused)
> 	volumeTest        = "quay.io/libpod/volume-plugin-test-img:20220623"
> 	^

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:30:43 -07:00
Kir Kolyshkin
dac3fa2f97 pkg/specgen/generate: fix unused warning on freebsd
> pkg/specgen/generate/validate_freebsd.go:6:6: func verifyContainerResources is unused (unused)
> func verifyContainerResources(s *specgen.SpecGenerator) ([]string, error) {
>      ^

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:30:43 -07:00
Kir Kolyshkin
18fdbaee80 pkg/machine/qemu: fix ST1016 linter warning on freebsd
> pkg/machine/qemu/stubber.go:92:23: ST1016: methods on the same type should have the same receiver name (seen 1x "v", 25x "q") (staticcheck)
> func (q *QEMUStubber) CreateVM(opts define.CreateVMOpts, mc *vmconfigs.MachineConfig, builder *ignition.IgnitionBuilder) error {
>                       ^

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:30:43 -07:00
Kir Kolyshkin
c860e67884 cmd/rootlessport: add missing linux build tags
This amends commit 772ead253 ("Use simulated dual-stack binds when using WSL")
which started using linux tag but not for all files.

Alas, this breaks ginkgo run on Windows, so add an exclusion.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:29:21 -07:00
Kir Kolyshkin
061e1a17a9 pkg/rctl: fix fprintf statement
While at it, rename the file to have freebsd suffix instead of using
a go:build annotation.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
1739b7170e pkg/systemd/quadlet: rm splitPorts
Usage of splitPorts was removed by commit abc4cfb04 ("quadlet: allow
variables in PublishPort") but the function remained, as well as its
tests.

Drop those.

Found by running golangci-lint with --tests=false option.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
c9b108d5b3 Bump golangci-lint to v2.0.2
This ended up slightly more complicated than anticipated, tin part
because golangci-lint v2 dropped support for --exclude-dirs, so
linter issues with GOOS=windows and GOOS=darwin which were previously
ignored had to be fixed now.

This is also the reason why the ./hack/golangci-lint was simplified.
In addition, it now runs linters on Linux without systemd tag set.

Tested locally with:

	for OS in linux windows darwin; do GOOS=$OS ./hack/golangci-lint.sh; done
	Linting for GOOS=linux
	+ ./bin/golangci-lint run --build-tags=apparmor,seccomp,selinux
	0 issues.
	+ ./bin/golangci-lint run --build-tags=apparmor,seccomp,selinux,systemd
	0 issues.
	+ ./bin/golangci-lint run --build-tags=apparmor,seccomp,selinux,remote
	0 issues.
	Linting for GOOS=windows
	+ ./bin/golangci-lint run --build-tags=remote,containers_image_openpgp
	0 issues.
	Linting for GOOS=darwin
	+ ./bin/golangci-lint run --build-tags=remote,containers_image_openpgp
	0 issues.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
8bd73b7d2c pkg/machine/wsl: rm unused structures
Those are not used since commit 0c587f024 ("refactor(machine,wsl):
improve operations of Windows API").

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
2861bc3702 pkg/machine/qemu: rm unused code
Looks like this is a forgotten part of commit 9bb191df5
("[CI:MACHINE]Podman5 QEMU refactor"). The reason is,
linters for Windows skip pkg/machine/qemu, and linters
for freebsd are not run at all.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
9f0032d3fd pkg/machine/shim: fix unused warnings on windows
These:

> pkg/machine/shim/claim_unsupported.go:9:6: func dockerClaimHelperInstalled is unused (unused)
> func dockerClaimHelperInstalled() bool {
>      ^
> pkg/machine/shim/claim_unsupported.go:13:6: func claimDockerSock is unused (unused)
> func claimDockerSock() bool {
>      ^
> pkg/machine/shim/claim_unsupported.go:17:6: func dockerClaimSupported is unused (unused)
> func dockerClaimSupported() bool {
>      ^

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
d9090645c3 pkg/machine: fix various linter warnings
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
4638d434bc pkg/machine/wsl/wutil: fix imports formatting
Otherwise goimports linter complains.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
c1f9c0b127 pkg/machine/e2e: fix unparam warnings
This one:

> pkg/machine/e2e/config_windows_test.go:42:56: runSystemCommand - timeout always receives defaultTimeout (600000000000) (unparam)
> func runSystemCommand(binary string, cmdArgs []string, timeout time.Duration, wait bool) (*machineSession, error) {
>                                                        ^

and, subsequently, this one:

> pkg/machine/e2e/config_windows_test.go:41:56: runSystemCommand - wait always receives true (unparam)
> func runSystemCommand(binary string, cmdArgs []string, wait bool) (*machineSession, error) {
>                                                        ^

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
7c175064da libpod: rm nolint annotation
It does not make sense because MemInfo.MemTotal is always int64 so the
conversion is always needed.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
032250a478 pkg/binding/images: rm dead code
Here err is always nil, so the check is useless.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
486327e2b9 pkg/bindings/images: fix linter warning on Darwin
With GOOS=darwin, golangci-lint complains:

> pkg/bindings/images/build_unix.go:13:24: directive `//nolint:unconvert` is unused for linter "unconvert" (nolintlint)
> 		Dev: uint64(st.Dev), //nolint:unconvert
> 		                     ^

Indeed, Stat_t.Dev is always uint64 on darwin

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
6b1033eaa0 libpod/events: refactor to eliminate unused code
Shuffle the code around to eliminate "unused" warnings when linting
with various GOOS and build tags.

The only change in functionality should be that now NewEventer
returns ErrNoJournaldLogging (rather than "unknown event logger type")
on freebsd when journald is requested.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
91113c46ef test/utils: suppress ST1001 warnings
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
0f975f8526 ci: rm allow-unused from nolintlint settings
This was added by commit 84e42877a ("make lint: re-enable revive"),
making nolintlint became almost useless.

Remove the ungodly amount of unused nolint annotations.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
bed6ee6bb7 pkg/machine/e2e: move windows-specific function to windows file
This allows to remove the 'nolint' annotation.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
cc4d904dd2 Fix QF1012 staticcheck warnings
> QF1012: Use fmt.Fprintf(...) instead of WriteString

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
f4f2580b0d ci: remove stylecheck linter
It is to be merged into staticcheck linter in golangci-lint v2.0.0.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
5aa035c69c libpod: fix a few minor staticcheck warnings
These:

> libpod/container_copy_common.go:34:16: QF1011: could omit type bool from declaration; it will be inferred from the right-hand side (staticcheck)
> 		locked       bool = true
> 		             ^
> libpod/container_internal_common.go:793:3: QF1006: could lift into loop condition (staticcheck)
> 		if maxSymLinks > 40 {
> 		^
> libpod/oci_conmon_linux.go:170:2: QF1007: could merge conditional assignment into variable declaration (staticcheck)
> 	mustCreateCgroup := true
> 	^

Should not result in any change of logic.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
0105131b5c Fix QF1003: could use tagged switch" staticcheck warning
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
0dddc5e3c0 Apply De Morgan's law
This fixes a bunch of "QF1001: could apply De Morgan's law" warnings
from staticcheck linter.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
b1010808ed .golangci.yml: remove exclude-dirs
Neither contrib nor dependencies contain any Go code:
 - for contrib, this is the way since commit 6041f707c ("rm
   contrib/perftest");
 - for dependencies, this is the way since commit c7827957a ("ginkgo:
   restructure install work flow").

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
1a9cf6b9db .golangci.yml: rm exclude-files
The only file listed was swagger.go, and it was removed by the commit
5b79cf15a ("Swagger refactor/cleanup") three years ago.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
f3e7b26fdd .golangci.yml: remove some linters
Let's take a look at each enabled linter and find out if it's needed;
remove those that make no sense.

* goheader: does nothing with empty configuration;
* gomodguard: does nothing with empty configuration;
* importas: does nothing with empty configuration;
* loggercheck: this repo does not use any loggers it checks (kitlog,klog,logr,zap);
* promlinter: this repo does not use Prometheus;
* sloginit: this repo does not use slog;
* spancheck: this repo does not use opentelemetry/opencensus;
* zerologlint: this repo does not use zerolog;

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
Kir Kolyshkin
c72526cd9c .golangci.yml: switch to list of enabled linters
Instead of enabling all linters, and when disabling some of them because
we don't like them, switch to list of explicitly enabled linters. The
upside of this is we can easily upgrade golangci-lint (i.e. any new
linters won't break our CI). The downside is, we need to explicitly
enable extra linters.

To me, this is better from the maintainability perspective.

NOTE this commit does not change the configuration in any way, in other
words, the list of linters being run is the same as before. The next
commit will address this.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-03-31 12:27:55 -07:00
openshift-merge-bot[bot]
827dbaefcf Merge pull request #25733 from ninja-quokka/update_no_new_priv_docs
docs: Update `podman build` security options
2025-03-31 19:01:29 +00:00
Lewis
4a7785d4df docs: Update podman build security options
It seems support was added into Buildah for no-new-privileges [1]
however the Podman build documentation was not updated.

Fixes #25731

[1] d4c661a774

Signed-off-by: Lewis Denny <lewis@redhat.com>
2025-04-01 04:34:22 +10:00
openshift-merge-bot[bot]
b19df2da77 Merge pull request #25740 from Luap99/deps-removal
remove github.com/buger/goterm and github.com/google/gofuzz dependency
2025-03-31 18:30:50 +00:00
openshift-merge-bot[bot]
3dbc3f2730 Merge pull request #25741 from containers/renovate/setuptools-78.x
chore(deps): update dependency setuptools to v78
2025-03-31 18:05:46 +00:00
openshift-merge-bot[bot]
604cb0aa17 Merge pull request #25694 from mtrmac/tarball-compression
Fix `podman import` with non-gzip inputs
2025-03-31 17:49:24 +00:00
Paul Holzinger
8ef234aedd remove github.com/buger/goterm dependency
this is just a few bytes of escape codes, there is no need to depend on
a library for it. While it is not a big one it still seems better to
just write it ourselves.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-31 19:17:55 +02:00
renovate[bot]
0b1d3a963d chore(deps): update dependency setuptools to v78
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 16:35:29 +00:00
openshift-merge-bot[bot]
e781f1ac5d Merge pull request #25739 from containers/renovate/golang.org-x-net-0.x
fix(deps): update module golang.org/x/net to v0.38.0
2025-03-31 16:34:45 +00:00
openshift-merge-bot[bot]
c6ce475e28 Merge pull request #25735 from Luap99/cdi-compose
test/compose: use --cdi-spec-dir not /etc/cdi
2025-03-31 16:01:40 +00:00
Miloslav Trmač
0a0c8ad6f4 Improve the file format documentation of podman-import.
- Bzip2, not bzip
- Add Zstd
- List compression algorithms, not file extensions, to
  decrease redundancy (and because the code doesn't actually
  rely on file extensions)

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-03-31 18:00:23 +02:00
Miloslav Trmač
3872293893 Revert "podman-import only supports gz and tar"
We can now accept the other formats again.

This reverts commit 9e397d8e4d.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-03-31 18:00:23 +02:00
Miloslav Trmač
571e0d52b3 Update c/image after https://github.com/containers/image/pull/2795
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-03-31 18:00:21 +02:00
Miloslav Trmač
ba88febf33 Don't block builds on podman-testing growing in size
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-03-31 17:59:29 +02:00
Paul Holzinger
4264bf6876 remove github.com/google/gofuzz dependency
It is unused in our code and is archived upstream so get rid of it.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-31 17:40:40 +02:00
renovate[bot]
19b4c3c1b7 fix(deps): update module golang.org/x/net to v0.38.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-31 15:40:13 +00:00
openshift-merge-bot[bot]
e4e3ac0d86 Merge pull request #25720 from Luap99/machine-vendor
remove some machine dependencies that are not needed
2025-03-31 15:38:50 +00:00
openshift-merge-bot[bot]
d5a31c8730 Merge pull request #25682 from baude/sw_vers
Enhance issue reporting template
2025-03-31 15:16:30 +00:00
Brent Baude
8cef2f4d10 Enhance issue reporting template
This PR adds a suggestion on the reporting template in github for people to run mac utilities like sw_vers and system_profiler utilities.  These utilities produce output like:

$ sw_vers
ProductName:		macOS
ProductVersion:		15.3.2
BuildVersion:		24D81
$ system_profiler SPHardwareDataType
Hardware:

    Hardware Overview:

      Model Name: Mac mini
      Model Identifier: Mac16,11
      Model Number: MCX44LL/A
      Chip: Apple M4 Pro
      Total Number of Cores: 12 (8 performance and 4 efficiency)
      Memory: 24 GB
      System Firmware Version: 11881.81.4
      OS Loader Version: 11881.81.4
      ... redacted

Signed-off-by: Brent Baude <bbaude@redhat.com>
2025-03-31 09:41:01 -05:00
Paul Holzinger
f07a95da0e test/compose: use 4 spaces indentation
For consistency.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-31 15:00:12 +02:00
Paul Holzinger
9f422e1a77 test/compose: use cdi option over mount
So that we don't have to overwrite a system dir and also can test
rootless.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-31 14:58:56 +02:00
Paul Holzinger
926ad1172e test/compose: remove cni reference
CNI is not being tested here for a long time, use a more appropriate
directory name.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2025-03-31 14:58:56 +02:00