summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* 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>
* CI: add API v2 testsEd Santiago2020-03-02
| | | | | | | | | | API v2 has been quiet for a few days, and the test script is actually passing. Let's take advantage of this opportunity to get them running in CI. Requires adding a check for cgroupsv2 Signed-off-by: Ed Santiago <santiago@redhat.com>
* Add installation of pre-commit to MakefileDaniel J Walsh2020-02-18
| | | | | | | | pre-commit is required for running certain tests by the Makefile. Adding pre-commit to install.tools allows users to easily use and test podman. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Make: s/uname -o/uname -s/Valentin Rothberg2020-02-11
| | | | | | uname -o doesn't seem to work on Mac OS. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Fix varlink code generation target.Max Goltzsche2020-02-09
| | | | | | | | | | | Closes #5130. varlink code generation was skipped when `uname -o` did not print "GNU/Linux". However on some Linux systems (e.g. alpine) only "Linux" is printed which results in cmd/podman/varlink/iopodman.go not being generated. Thus the Makefile target condition has been changed to match "Linux". Signed-off-by: Max Goltzsche <max.goltzsche@gmail.com>
* {CI:DOCS] run gofmt before lintBrent Baude2020-02-04
| | | | | | the linting task identifies gofmt issues; therefore it makes more sense to run our make gofmt first, which actually fixes the gofmt issues. Signed-off-by: Brent Baude <bbaude@redhat.com>
* Cirrus: Fix gate task + make lint|validateChris Evich2020-02-03
| | | | | | | | | | | | | | | | | | A recent Makefile change (4ec893a748) removed a side-effect necessary for 'make validation' to pass under automation. Making things worse, change 12bd7e927c was found upon investigation to always point at the latest upstream HEAD. However, this is rarely a fork-point for pull-requests. Further investigation showed the built-in Cirrus-CI, golang-based git does not obtain sufficient data for the Makefile command `git merge-base HEAD $${DEST_BRANCH:-master}` to function properly (in the context of the gate container). Fix this by customizing the clone operation and slightly adjust the Makefile command to function as intended in the gate container. Also add checks to the validate and lint targets which validate the variable EPOCH_TEST_COMMIT value is never an empty string or whitespace. Signed-off-by: Chris Evich <cevich@redhat.com>
* Assure validate includes lintSorin Sbarnea2020-01-30
| | | | | | Fixed issue where lint was not run on CI, so we missed to prevent regressions. Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
* speed up MakefileValentin Rothberg2020-01-30
| | | | | | | | | | Speed up the Makefile by removing variable references from the release targets. Now, the variables will only be (lazily) evaluated when they are actually needed and not for each invocation of the Makefile which has it down considerably. Fixes: #4829 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Makefile: systemd: echo instead of warnValentin Rothberg2020-01-30
| | | | | | Just echo the message instead of warning to not impact the exit code. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Makefile: remove redundant BUILDFLAGSValentin Rothberg2020-01-30
| | | | | | We don't set it, so there's no need to keep it. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Makefile: consistent PHONY useValentin Rothberg2020-01-30
| | | | | | | Add a .PHONY line over each target instead of mixing this notation with a separate but incomplete single list. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Makefile: remove dead vagrant targetValentin Rothberg2020-01-30
| | | | Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Makefile: move systemd buildtag checkValentin Rothberg2020-01-30
| | | | | | | | Move the systemd-buildtag check into the `bin/podman` target. No need to execute the check for all invocations of the Makefile. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Merge pull request #5011 from vrothberg/fix-4814OpenShift Merge Robot2020-01-29
|\ | | | | run `varlink_generate` on Linux only
| * run `varlink_generate` on Linux onlyValentin Rothberg2020-01-29
| | | | | | | | | | | | | | | | Running the `varlink_generate` make target on non-Linux machines is not supported, so restrict it to Linux only. Fixes: #4814 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | [CI:DOCS]Binding overhaulsBrent Baude2020-01-28
|/ | | | | | | | | | Add binding for networks and begin documentation for binding methods for godoc. Also, add major functions to their own subpackages so reduce the amount of of method confusion. So instead of: bindings.ListImages(), we now do a [bindings].images.List(). Also, the connection is passed to each binding method via a context to allow for future growth. Lastly, add first set of tests. There are a couple of things to work out for rootless tests yet. Signed-off-by: Brent Baude <bbaude@redhat.com>
* Add link from docker.sock to podman.sockDaniel J Walsh2020-01-27
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Add service endpointbaude2020-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | add service endpoint for the new API. Also supports the varlink implementation. Signed-off-by: baude <bbaude@redhat.com> Refactor to allow developer more control of API server * Add api.NewServerWithSettings() to create an API server with custom settings * Add api.ListenUnix() to create a UDS net.Listener and setup UDS Signed-off-by: Jhon Honce <jhonce@redhat.com> Signed-off-by: baude <bbaude@redhat.com> More service completion Add podman service command that allows users to run either a RESTful or varlink protocol API service. Addition of docs and RESTful listening. Signed-off-by: baude <bbaude@redhat.com> Signed-off-by: Brent Baude <bbaude@redhat.com>
* post-process swagger yaml for publishbaude2020-01-17
| | | | | Signed-off-by: baude <bbaude@redhat.com> Signed-off-by: Chris Evich <cevich@redhat.com>
* make binaries: include serviceValentin Rothberg2020-01-16
| | | | | | | Include the service into make binaries such that we're it's being build in the CI. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Merge pull request #4807 from ssbarnea/fix/pre-commitOpenShift Merge Robot2020-01-15
|\ | | | | Enable pre-commit linting
| * Enable pre-commit tool lintingSorin Sbarnea2020-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This should help use keep the codebase more consistent, and avoid sevel whitespace related issues, or bad file permissions. pre-commit allows us to easily introduce other linters in follow-ups, like bashate. Note: pre-commit tool does *not* install any git-hooks. Making commits will will call the tool unless you deliverately tell it to install the hooks. Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
* | make .install.golangci-lint: force specific versionValentin Rothberg2020-01-15
| | | | | | | | | | | | | | | | | | | | | | Instead of only performing a presence check of the binary, also do a version check and force installing the specified one if needed. This will prevent users and the CI from using a wrong version in the future. Move the logic into a dedicated shell script as I find built-in bash in Makefiles hard to maintain. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | Makefile: remove gometalinterValentin Rothberg2020-01-15
| | | | | | | | | | | | | | | | Remove all references on gometalinter including the target to install it. We are not using it anymore since we have fully migrated to golangci-lint. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | make lint: include unit testsValentin Rothberg2020-01-14
| | | | | | | | | | | | | | Include the unit tests (i.e., _test.go files) for linting to make the tests more robust and enforce the linters' coding styles etc. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | .golangci.yml: move swagger.go from MakefileValentin Rothberg2020-01-14
|/ | | | Signed-off-by: Valentin Rothberg <rothberg@redhat.com>