aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* Don't disable Go modules when generating varlinkJordan Christiansen2020-09-30
| | | | | | | | | | | | | | From a fresh install of Fedora 33 Beta and a fresh clone of the repo, `make` fails with the following error when Go modules are disabled: # Only generate the varlink code on Linux (see issue #4814). GO111MODULE=off go generate ./pkg/varlink/... ../../vendor/github.com/varlink/go/cmd/varlink-go-interface-generator/main.go:12:2: cannot find package "github.com/varlink/go/varlink/idl" in any of: /usr/lib/golang/src/github.com/varlink/go/varlink/idl (from $GOROOT) /home/test/src/podman/_output/src/github.com/varlink/go/varlink/idl (from $GOPATH) pkg/varlink/generate.go:3: running "go": exit status 1 make: *** [Makefile:646: pkg/varlink/iopodman.go] Error 1 Signed-off-by: Jordan Christiansen <xordspar0@gmail.com>
* Print nice error message when python is not installedDaniel J Walsh2020-09-21
| | | | | | | If user runs `make help` on a system without python, we should print a decent message. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Makefile: Fix broken libpodimage targetsChris Evich2020-09-18
| | | | | | | | | | | | | | The configuration for this container has moved to the `containers/automation_images` repository. Leverage the image built from the new location to guarantee synchronization with images used in CI. Also, remove several other targets that haven't worked for a really long time. Upon discussion, they seem to apply to a minority of users. Remove them to clean up the `Makefile` and reduce maintenance burden. Signed-off-by: Chris Evich <cevich@redhat.com>
* Make Go builds more consistentJordan Christiansen2020-09-17
| | | | | | | * Use the BUILDFLAGS variable for all Go builds * Use `go install` instead of manually specifying the GOBIN path Signed-off-by: Jordan Christiansen <xordspar0@gmail.com>
* Makefile: add cross compile targets for more archesLokesh Mandvekar2020-09-08
| | | | | | | This commit adds additional targets for which we provide binary packages on fedora and other distros. Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* fix podman version output to include git commit and builttimePaul Holzinger2020-08-18
| | | | | | Add the go module version v2 to the libpod path. Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
* Makefile: use full path for ginkgoLokesh Mandvekar2020-08-11
| | | | | | | | | | | | | | | | | | | | Without this change, I get: ``` ginkgo \ -r \ \ --skipPackage test/e2e,pkg/apparmor,test/endpoint,pkg/bindings,hack \ --cover \ --covermode atomic \ --coverprofile coverprofile \ --outputdir .coverage \ --tags " selinux systemd exclude_graphdriver_devicemapper seccomp" \ --succinct /bin/sh: line 1: ginkgo: command not found ``` Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* Reenable remote system testsEd Santiago2020-08-03
| | | | | | | | | | | | | | | | | | | podman-remote is in better shape now. Let's see what needs to be done to reenable remote system tests. - logs test: skip multilog, it doesn't work remote - diff test: use -l only when local, not with remote - many other tests: skip_if_remote, with 'FIXME: pending #xxxx' where xxxx is a filed issue. Unrelated: added new helper to skip_if_remote and _if_rootless, where we check if the source message includes "remote"/"rootless" and insert it if missing. This is a minor usability enhancement to make it easier to understand at-a-glance why a skip triggers. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Install auto-update services for usersValentin Rothberg2020-08-03
| | | | Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Install auto-update systemd service and timer.Peter Oliver2020-08-03
| | | | Signed-off-by: Peter Oliver <git@mavit.org.uk>
* Switch all references to github.com/containers/libpod -> podmanDaniel J Walsh2020-07-28
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* make localunit: record coverageValentin Rothberg2020-07-21
| | | | | | | Inspirsed by CRI-O's coverage logic. Initial coverage is at 15.7 percent. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* unit tests: root checkValentin Rothberg2020-07-21
| | | | | | | | | The unit tests currently require running as root. This has caused some confusion that justifies adding a root check to `make localunit` and error out for non-root users instead of starting the tests deemed to fail. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Switch references from libpod.conf to containers.confDaniel J Walsh2020-07-20
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Cleanup nix derivation for static buildsWong Hoi Sing Edison2020-07-18
| | | | Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
* Remove outdated seccomp policyMatthew Heon2020-07-13
| | | | | | | | | | | | | | | | | | Some time ago, we moved the Seccomp policy (and related setup code) to a place where all our tools could share it [1]. We did not, however, remove the in-repo seccomp.json file. Over the last year or so, the in-repo seccomp policy has become progressively more and more outdated, with no effort made to maintain it (because what sense is there in keeping a duplicate?). Today, a friend came to me and asked if a Podman container could access keyctl, assuming it could not because he was reading the outdated Seccomp policy which does not allow it. Since it's becoming clear that this file is doing no good and actively causing confusion, let's just drop it. [1] https://github.com/seccomp/containers-golang Signed-off-by: Matthew Heon <mheon@redhat.com>
* Add containers.conf default file for windows and MAC InstallsDaniel J Walsh2020-06-24
| | | | | | | We want to add this configuration file so that users can descover how to configure the permanent connection to a remote podman instance. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* system tests: invoke with abs path to podmanEd Santiago2020-06-23
| | | | | | | | | | | | | | | | | | | | | | Reversion of one part of #6679: my handling of 'realpath' would not work when $PODMAN is 'podman-remote --url etc'. Trying to handle that case got unmaintainable; so instead let's just force 'make {local,remote}system' to invoke with a full PODMAN path. This breaks down if someone runs the tests with a manual 'bats' invocation, but I think I'm the only one who ever does that. Since podman path will now be very long in the logs, add code to logformatter to abbreviate it like we do for the ginkgo logs. And, one thing that has bugged me for a long time: in the error logs, show a different prompt ('#' vs '$') to distinguish root vs rootless. This should make it much easier to see at-a-glance whether a log file is root or not. Add tests for it. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Makefile: allow customizable GO_BUILDLokesh Mandvekar2020-06-22
| | | | | | | This will let me use a customizable GO_BUILD so that I can run build targets for deb packages Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* Makefile: install.varlink needs to create dirsLokesh Mandvekar2020-06-17
| | | | Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* WIP: Enable (and disable) remote testingEd Santiago2020-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | podman-remote has not been tested. A principal part of the problem was #5387 - the YAML I wrote did not have the intended effect, it did not set TEST_REMOTE_CLIENT=true and because of my multiple iterations I did not catch this during testing. Part 1 of this PR is to fix .cirrus.yml to enable remote tests. Part 2 -- what I had first noticed and tried to fix -- is that rootless_test.sh was never running remote because, of course, envariables are not sent via ssh. I reworked integration_test.sh and rootless_test.sh to use a command-line decision instead. Part 3, sigh, is to disable one failing integration test and *all* system tests, because so many of the latter are failing. Addressing those failures needs to be done in subsequent PRs. Issues #6538, #6539, #6540 are filed for some of the problems I isolated. There will be more. Also, minor, fixed some stale references to varlink. Signed-off-by: Ed Santiago <santiago@redhat.com>
* force bats version to v1.1.0Valentin Rothberg2020-06-08
| | | | | | | | We experienced regression when using the latest `v1.2.0-dev` bats in Ubuntu 20.04 (see github.com/containers/libpod/pull/6418). Using bats v1.1.0 worked in the Ubuntu test VM. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Remove use of ABISupport buildtagDaniel J Walsh2020-06-03
| | | | | | | | | | We need to default to building podman. If you specify no build tags you will not build podman, not podman-remote. Just using remote flag to indicate podman-remote and !remote for podman. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* default build without `varlink` tagLokesh Mandvekar2020-05-29
| | | | | | | | | | | | | 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>
* Vendor in containers/common v0.12.0Daniel J Walsh2020-05-28
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Fix builds on 32 bit archesDaniel J Walsh2020-05-27
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* podman-registry: many unrelated fixesEd Santiago2020-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) fix lost credentials. must_pass(), added in #6375, eats the credentials generated via 'podman run --entrypoint htpasswd'. Run that podman instance directly, and add explicit error check. (The error and stdout/stderr handling here has gotten cumbersome. There must be something I'm missing that could make it all simpler.) 2) fix default podman path. When setting $PODMAN, default to the locally built one -- there may not be one in $PATH (e.g. in Ubuntu, see #6366). This in turn requires us to: 3) run registry test in integration, not unit test It looks like unit tests run before podman is built, causing a chicken-egg dilemma. Try to solve that by running the new hack/podman-registry-go test in integration tests, not unit tests. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Makefile: customizable $REMOTETAGSLokesh Mandvekar2020-05-24
| | | | | | This change will allow the builder to specify custom REMOTETAGS. Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* v2 enable remote integration testsBrent Baude2020-05-19
| | | | | | enable remote integration tests Signed-off-by: Brent Baude <bbaude@redhat.com>
* Fix REMOTETAGSDaniel J Walsh2020-05-14
| | | | | | | | Handle REMOTETAGS the same way for all remote commands. This fixes issues where remote commands are not building correctly on rhel7 and centos7 systems. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Remove libpod.conf from repoMatthew Heon2020-05-12
| | | | | | | | | | | 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>
* Add podman static buildSascha Grunert2020-05-11
| | | | | | | | | | | We’re now able to build a static podman binary based on a custom nix derivation. This is integrated in cirrus as well, whereas a later target would be to provide a self-contained static binary bundle which can be installed on any Linux x64-bit system. Fixes: https://github.com/containers/libpod/issues/1399 Signed-off-by: Sascha Grunert <sgrunert@suse.com>
* Merge pull request #6136 from liuming50/fix-a-makefile-dependency-issueOpenShift Merge Robot2020-05-08
|\ | | | | Makefile: fix a dependency issue
| * Makefile: fix a dependency issueMing Liu2020-05-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of being depended by docs, targets '.install.md2man' and 'docdir' should be depended by 'MANPAGES', or else the path 'docs/build/man' or 'GOMD2MAN' might not exist when it tries to generate files in it. This fixes a following build error: | open docs/build/man/podman-volume-ls.1: no such file or directory | Makefile:377: recipe for target 'docs/source/markdown/podman-volume-ls.1' failed | make: *** [docs/source/markdown/podman-volume-ls.1] Error 1 | make: *** Waiting for unfinished jobs.... | open docs/build/man/podman-init.1: no such file or directory | Makefile:377: recipe for target 'docs/source/markdown/podman-init.1' failed Signed-off-by: Ming Liu <ming.liu@toradex.com>
* | Add podman-remote-static targetDaniel J Walsh2020-05-07
|/ | | | | | | | | | We should not be building podman-remote with the BUILDTAGS, these only effect server side. CRC Group wants to use a static version of podman-remote in order to install the same podman-remote client on any Linux box. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Makefile: include -nobuild install targetsLokesh Mandvekar2020-04-23
| | | | | | | | | | | | | | | 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>
* Makefile: fix broken chcon for podman-remoteEd Santiago2020-04-21
| | | | | | | The install.remote target looks like it was copy-pasted from install.bin and missed a spot. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Make `find` ignore dot filesAnatoli Babenia2020-04-20
| | | | | | | There is no need to search for sources in hidden dirs. In my case there are files from development environment that stand in the way. Signed-off-by: Anatoli Babenia <anatoli@rainforce.org>
* Podman V2 birthBrent Baude2020-04-16
| | | | | | remote podman v1 and replace with podman v2. Signed-off-by: Brent Baude <bbaude@redhat.com>
* swagger-check: new CI tool to cross-check swaggerEd Santiago2020-04-14
| | | | | | | | | | | | New script cross-references r.Handle() and r.HandleFunc() calls against the preceding '// swagger:operation' comments, and exits failure (with descriptive error messages) if any comments do not match the code. This script should not be necessary: the swagger comments should be autogenerated from the source code. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Merge pull request #5634 from jwhonce/wip/serviceOpenShift Merge Robot2020-04-09
|\ | | | | V2 podman system service
| * V2 podman system serviceJhon Honce2020-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added support for system service * Enabled linting on the varlinkapi source, needed to support V2 service command * Added support for PODMAN_SOCKET Skip linting deprecated code Rather than introduce bugs by correcting deprecated code, linting the code is being skipped. Code that is being ported into V2 is being checked. Signed-off-by: Jhon Honce <jhonce@redhat.com>
* | Fix (make vendor)Miloslav Trmač2020-04-08
|/ | | | | | | | | | | | (export a=b command args) does not run (command args) with a=b, it sets $a to b, and marks variables $a $command $args as exported, i.e. (command args) is not run. So we were not actually running (go mod tidy). Fix that. Signed-off-by: Miloslav Trmač <mitr@redhat.com>
* V2 Move varlink homeJhon Honce2020-03-30
| | | | | | | | * 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>
* Add APIV2 service filesDaniel J Walsh2020-03-20
| | | | | | Also fix issue in pods_test.go Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Merge pull request #5465 from edsantiago/man_page_option_checkerOpenShift Merge Robot2020-03-19
|\ | | | | New test: man page cross-ref against --help
| * New test: man page cross-ref against --helpEd Santiago2020-03-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New hack/xref-helpmsgs-manpages script, added to CI 'gate' task, runs 'podman [subcommand] --help' and cross-references against man pages in docs/source/markdown/podman*.1.md See #5453 and #5460 for instances of the problems the script has found. The careful reader will find an alarming number of special-case bypasses. These are a tradeoff I am making: to get perfect coverage with no handwaving, it would be necessary to make drastic changes to some man pages, and I believe those would be counterproductive. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Don't include SUBDIR in windows.zipDaniel J Walsh2020-03-19
|/ | | | | | | The zip file should returne podman.exe plus the documentation directory. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* build for amd64|arm|ppc64leBrent Baude2020-03-10
| | | | | | to protect against architecture specific build regressions, we cross compile for multiple architectures Signed-off-by: Brent Baude <bbaude@redhat.com>
* Fix spelling mistakes in code found by codespellDaniel J Walsh2020-03-07
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>