summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* create a separate install target for seccompLokesh Mandvekar2019-11-10
| | | | | | | | | | podman in Fedora gets seccomp.json from containers-common while the one in Ubuntu PPA gets seccomp.json from containers-golang. This change will let me use install.config target unmodified in downstream packages. Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* Add support for make vendor-in-containerDaniel J Walsh2019-11-08
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Makefile: add vendor-in-containerGiuseppe Scrivano2019-11-06
| | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* [Makefile] Fix docker documentation install and generationMorten Linderud2019-11-02
| | | | | | | | | | The final versions of the documentation has been shifted from `docs/` to `docs/build/man`. Most of the Makefile has been changed accordingly, but the docker documentation generation was not. Introduced by #4354 Signed-off-by: Morten Linderud <morten@linderud.pw>
* Merge pull request #4354 from baude/newdocsstructOpenShift Merge Robot2019-10-31
|\ | | | | Restructure documentation dir
| * Update document formatting and packaging codeJhon Honce2019-10-31
| | | | | | | | | | | | | | | | | | * Refactored code and Makefile to support new docs layout * Removed some old code packaging code * Add Readme.md to document what we're doing Signed-off-by: Jhon Honce <jhonce@redhat.com> Signed-off-by: baude <bbaude@redhat.com>
| * Restructure documentation dirbaude2019-10-31
| | | | | | | | | | | | | | | | Restructuring the docs dir to make integration with sphinx easier. man pages now exist in docs/source/man and the sphinx make files exists in docs. Signed-off-by: baude <bbaude@redhat.com>
* | Merge pull request #4352 from vrothberg/config-packageOpenShift Merge Robot2019-10-31
|\ \ | |/ |/| refactor libpod config into libpod/config
| * add libpod/configValentin Rothberg2019-10-31
| | | | | | | | | | | | | | | | | | | | | | | | Refactor the `RuntimeConfig` along with related code from libpod into libpod/config. Note that this is a first step of consolidating code into more coherent packages to make the code more maintainable and less prone to regressions on the long runs. Some libpod definitions were moved to `libpod/define` to resolve circular dependencies. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | build: drop support for ostreeGiuseppe Scrivano2019-10-30
|/ | | | | | | it is going to be removed from containers/image as well, so no longer depend on it. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Makefile: fix embedding gitCommitAkihiro Suda2019-10-29
| | | | Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
* Initial checking for readthedocsbaude2019-10-22
| | | | Signed-off-by: baude <bbaude@redhat.com>
* Bump gitvalidation epochMatthew Heon2019-10-17
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Bump gitvalidation epochMatthew Heon2019-10-16
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Make user io.podman.service unit WantedBy=default.targetColin Walters2019-10-11
| | | | | | | | | | | | | | | `multi-user.target` doesn't exist in the systemd *user* instance. We can't hook up the startup of a user unit to a system target. Doing so causes systemd to error out in Fedora CoreOS builds during presets. Make it depend on `default.target` instead. (Having the same unit in both system and user sessions has some tricky bits like this) Signed-off-by: Colin Walters <walters@verbum.org>
* Cirrus: Produce and collect varlink outputChris Evich2019-10-08
| | | | | | | | | | | | | When executing 'make remotesystem' testing, a varlink process is started up but it's stdio is dumped due to the production of excessive data. However, this also means if the process has a problem, any errors will not be accessible. Instead, grab only the last 100 lines and direct them into a file. Also update automation's log collection to retrieve this file when the `$REMOTE_CLIENT` env. var. is `true`. Signed-off-by: Chris Evich <cevich@redhat.com>
* Bump gitvalidation epochMatthew Heon2019-10-02
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Bump gitvalidation epochMatthew Heon2019-10-02
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Bump gitvalidation epochMatthew Heon2019-09-30
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Add a missing escape in the MakefileNalin Dahyabhai2019-09-26
| | | | Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
* Merge pull request #4104 from mheon/bump-1.6.0-rc2OpenShift Merge Robot2019-09-25
|\ | | | | Bump to 1.6.0-rc2
| * Bump gitvalidation epochMatthew Heon2019-09-24
| | | | | | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* | Cirrus: Fail early on CI script unit testChris Evich2019-09-23
|/ | | | | | | Instead of running this basic checks for almost all tasks, just do them once at the beginning. Signed-off-by: Chris Evich <cevich@redhat.com>
* Support podman-remote help on windowsJhon Honce2019-09-19
| | | | | | | | * Update scipts to produce darwin and windows output * Update batch file to re-direct help requests to browser * Add pandoc filter for markdown to html links Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Bump Gitvalidation epochMatthew Heon2019-09-16
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Add podman icon to installerJhon Honce2019-09-12
| | | | | | Update Makefile per review comments Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Support building Windows msi fileJhon Honce2019-09-11
| | | | | | | | | | * Update Makefile to build msi * Add podman.wxs to define podman.msi * Version information provided by Makefile * Add podman.bat wrapper for podman-remote-windows.exe to ensure environment * Add wix xml schemas for reference Signed-off-by: Jhon Honce <jhonce@redhat.com>
* Merge pull request #3973 from baude/validateupdateOpenShift Merge Robot2019-09-11
|\ | | | | add lint and manpage check to make validate
| * add lint and manpage check to make validatebaude2019-09-10
| | | | | | | | | | | | | | make validate now runs golangci-lint and the man-page-checker to ensure a PR is ready for our CI system. Signed-off-by: baude <bbaude@redhat.com>
* | Fixup Makefile for BSD systems, e.g. macOSChristian Felder2019-09-07
|/ | | | | | | | | The bsd variant of `ln` does not support the ``-T`` option. Testing for existence using wildcard before creating new symlinks should be sufficient here. Furthermore the target directory is managed internally by this Makefile anyway. Signed-off-by: Christian Felder <c.felder@fz-juelich.de>
* Makefile: use go proxyValentin Rothberg2019-08-30
| | | | | | | | | Use GOPROXY=https://proxy.golang.org to speed up fetching dependencies. Setting it makes `make vendor` three times faster in my local env. For details please refer to https://proxy.golang.org/. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Cirrus: Reimplement release archive + uploadChris Evich2019-08-28
| | | | | | | | The initial implementation was far more complicated than necessary. Strip out the complexities in favor of a simpler and more direct approach. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #3824 from baude/varlinkendpointtestOpenShift Merge Robot2019-08-26
|\ | | | | Create framework for varlink endpoint integration tests
| * Create framework for varlink endpoint integration testsbaude2019-08-16
| | | | | | | | | | | | | | add the ability to write integration tests similar to our e2e tests for the varlink endpoints. Signed-off-by: baude <bbaude@redhat.com>
* | Bump gitvalidation epochMatthew Heon2019-08-15
|/ | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* Merge pull request #3662 from marusak/user_socket_serviceOpenShift Merge Robot2019-08-13
|\ | | | | Add user systemd service and socket
| * Add user systemd service and socketMatej Marusak2019-08-13
| | | | | | | | | | | | | | | | | | | | This enables user to interact with varlink and create/manage rootless containers through it. Using as: `varlink call unix:/run/user/1000/podman/io.podman/io.podman.ListContainers` Signed-off-by: Matej Marusak <mmarusak@redhat.com>
* | Homebrew installation in install.mdAshley Cui2019-08-12
|/ | | | | | Add brew installation instructions to docs & small fix to brew makefile Signed-off-by: Ashley Cui <ashleycui16@gmail.com>
* Merge pull request #3758 from edsantiago/batsOpenShift Merge Robot2019-08-10
|\ | | | | implement 'make remotesystem'
| * implement 'make remotesystem'Ed Santiago2019-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | podman-remote rm now works; that's the only thing we were waiting for to enable podman-remote (varlink) system tests. Add a (too-complicated, sorry) Makefile target that will define a random socket path, start the podman varlink server, and run the test suite using podman-remote. Also: add two convenience functions, is_rootless and is_remote, and use those in skip_if_rootless/if_remote and elsewhere Also: workarounds for broken tests: - basic version test: podman-remote emits an empty 'Client' line. Just ignore it. - looks like 'podman-remote pod' doesn't work; skip test. Also: minor documentation update Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Bump gitvalidation epochMatthew Heon2019-08-09
|/ | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* add make to make installsbaude2019-08-07
| | | | | | | | | | | | | as issue #2702 describes, we want to make podman and podman-remote as part of make install. Fixes: #2702 Signed-off-by: baude <bbaude@redhat.com> avoid `make` in `make install` in the rpmbuild process. Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* go build: use `-mod=vendor` for go >= 1.11.xValentin Rothberg2019-08-01
| | | | | | | | | | | Go 1.13.x isn't sensitive to the GO111MODULE environment variable causing builds to not use the vendored sources in ./vendor. Force builds of module-supporting go versions to use the vendored sources by setting -mod=vendor. Verified in a fedora:rawhide container. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Cirrus: Fix release dependenciesChris Evich2019-07-31
| | | | | | | | | | | | | | | | | | | | | The release-task ***must*** always execute last, in order to guarantee a consistent cache of release archives from dependent tasks. It accomplishes this by verifying it's task-number matches one-less than the total number of tasks. Previous to this commit, a YAML anchor/alias was used to avoid duplication of the dependency list between 'success' and 'release' However, it's been observed that this opens the possibility for 'release' and 'success' tasks to race when running on a PR. Because YAML anchor/aliases cannot be used to modify lists, duplication is required to make 'release' actually depend upon 'success'. This duplication will introduce an additional maintenance burden. Though when adding a new task, it's already very easy to forget to update the 'depends_on' list. Assist both cases by the addition unit-tests to verify ``.cirrus.yml`` dependency contents and structure. Signed-off-by: Chris Evich <cevich@redhat.com>
* Documenation & build automation for remote darwinAshley Cui2019-07-25
| | | | | | | | Created shell script to automatically compile remote-only docs & rename Added make brew-pkg to automatically package files needed for homebrew Add missing docs Signed-off-by: Ashley Cui <ashleycui16@gmail.com>
* golangci-lint phase 4baude2019-07-22
| | | | | | | | | | | clean up some final linter issues and add a make target for golangci-lint. in addition, begin running the tests are part of the gating tasks in cirrus ci. we cannot fully shift over to the new linter until we fix the image on the openshift side. for short term, we will use both Signed-off-by: baude <bbaude@redhat.com>
* Make GOPATH-related symlinking more preciseLawrence Chan2019-07-17
| | | | | | | | | | | | This change tweaks the symlink commands that are invoked when libpod is not on GOPATH. This has the following effects: - If the working directory is not "libpod", it will still create the symlink at the correct github.com/containers/libpod path. - If the github.com/varlink directory/symlink already exists, it will still create the symlink at the intended path. Signed-off-by: Lawrence Chan <element103@gmail.com>
* analyse package sizesValentin Rothberg2019-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Analyse the size of all go-packages used during the build process via the newly added `hack/analyses/go-archive-analysis.sh` script. The script expects the `WORK` environment variable to be set, which points to a temporary work directory generated by `go build`. To generate such a work directory, set the `BUILDFLAGS="-work -a"`: * `-work` for creating the work directory * `-a` to force rebuilding all packages even when already cached The workflow may look as follows: ``` $ BUILDFLAGS="-work -a" make podman [...] WORK=/tmp/go-build127001249 $ WORK=/tmp/go-build127001249 ./hack/analyses/go-archive-analysis.sh ``` The output of the script has the format `$SIZE $PACKAGE` where $SIZE is the size of the compiled version of the go package (i.e., `.a` file) and $PACKAGE for the corresponding package, for instance, `math/big` for a stdlib package or vendor/... for vendored packages. Credits to the authors of https://github.com/jondot/goweight, which inspired this work. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* Merge pull request #3106 from cevich/cirrus_releaseOpenShift Merge Robot2019-07-10
|\ | | | | Cirrus: Automate releasing of tested binaries
| * Cirrus: Automate releasing of tested binariesChris Evich2019-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's desirable to make archives available of builds containing actual tested content. While not official distro-releases, these will enable third-party testing, experimentation, and development for both branches (e.g. "master") and pull requests (e.g. "pr3106"). * Add a Makefile targets for archiving both regular podman binaries and the remote-client. Encode release metadata within these archives so that their exact source can be identified. * Fix bug with cross-compiling remote clients for the Windows and Darwin platforms. * Add unit-testing of cross-compiles for Windows and Darwin platforms. * A few small CI-script typo-fixes * Add a script which operates in two modes: 1. Call Makefile targets which produce release archives. Upload the archive to Cirrus-CI's built-in caching system using reproducible cache keys. 2. Utilize reproduced cache keys to attempt download of cache from each tasks. When successful, parse the file's release metadata, using it to name the archive file. Upload all recovered archives to a publicly accessible storage bucket for future reference. * Update the main testing task to call the script in mode #1 for all primary platforms. * Add a new `$SPECIALMODE` task to call the script in mode #1 for Windows and Darwin targets. * Add a new 'release' task to the CI system, dependent upon all other tasks. This new tasks executes the script in mode #2. * Update CI documentation Signed-off-by: Chris Evich <cevich@redhat.com>