summaryrefslogtreecommitdiff
path: root/contrib
Commit message (Collapse)AuthorAge
* Cirrus: Fix libpod base images going staleChris Evich2020-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | VM Base images are used as a starting point for runtime VM images. The in-use VM base images should never be pruned, which is an operation that potentially occurs periodically from automation running on the master branch of the libpod repo. However the only place which updates timestamps (blocking pruning) of base images, occurs during runtime VM image building. Therefor, if images are not regularly rebuilt, it's possible their base images go stale and are pruned. Changes: * Add freshly-produced base images (old ones got pruned) * Wrap the timestamp update script to include base image names in the update list. Notes: * Regularly updating base image timestamps only needs to happen on the libpod repo's meta task, since all base images live there. * Using a wrapper is needed to maintain compatibility with multiple versions of the imgts container image used by other repos / branchs. Signed-off-by: Chris Evich <cevich@redhat.com>
* Update podmanimage build processTomSweeneyRedHat2020-01-08
| | | | | | | | | | | | | | | | | | | | | (Stealing from: @rhatdan 's https://github.com/containers/buildah/pull/2038 ) 1 We need to update all packages in the podman image to make sure they are up2date. 2 reinstall shadow-utils. For some reason the fedora base image does not include the file capabilities assigned to /usr/bin/newuidmap and /usr/bin/newgidmap. Reinstalling shadow-utils, brings them back. 3 Add a default user build to the system. This will create the /etc/subuid and /etc/subgid maps get created correctly. Once we have this we should be able to build a container starting with a non privileged user podman run -ti --user build --device=/dev/fuse -v ./Dockerfile:/Dockerfile:z quay.io/podman/stable podman buildd / Addresses: #4741 Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
* packaging: validate installed rpmsSorin Sbarnea2020-01-07
| | | | | | | | | | Previously we builded RPMs that contained an outdated conmon which was not compatible. From now on `make-install` will also call `podman version` and `podman info` in order to perform a minimal sanity check of the installation. Fixes: #4665 Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
* Bump to v1.7.1-devMatthew Heon2020-01-06
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Generate binaries only if they are changes in src code.Neville Cain2020-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes I am making: 1. The target `.gopathok` was listed in `.PHONY` which looks wrong as it regenerates `.gopathok` every time we re-run it, which was a part of the issue. I removed it to avoid that. If `.gopathok` is present', makefile should not need to rerun it. 2. Ensure the binaries are created only if they don't exist by adding `bin/podman` and `bin/podman-remote`. 3. Add a `SOURCES = $(shell find . -name "*.go")` and put it as a dependency of the podman binaries target. It allows us to re-generate the binaries only when there is a change in the source files. The downside is it increases the running time of the command that generates them (20 seconds on my virtual machine running Centos 7). If this is a problem, we could introduce a hidden file that would list all the files to track, that would need to be updated only when a dev is introducing new files. 4. Fixed the make package-install as it does not work with yum. I updated the build_rpm.sh to ensure it works on centos 7 and centos 8 with no pre-required installation. Closes #4367 Signed-off-by: Neville Cain <neville.cain@qonto.eu>
* Use systemd/sd-daemon.h headers for systemd presenceChandan Kumar (raukadah)2019-12-16
| | | | | | | | | | | | | | | Finding systemd devel packages using libsystemd does not work as in RHEL based distro the package name is systemd-devel and for deb/ubunutu it is libsystemd. It is also giving false result when podman rpm is built with systemd but hack/systemd_tag.sh does not return anything. Install systemd-devel package in build_rpm.sh script Moving to systemd/sd-daemon.h header files which comes from devel packages fixes the issue. Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
* Fixed the path of hack scripts in spec fileChandan Kumar (raukadah)2019-12-13
| | | | | | | | | | While building the spec file on fedora, in rpmbuild log, .sh: No such file or directory error is shown as full path of hack directory is not resolved leading to file not found error. Appending the builddir and libpod path with hack will fix the issue. Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
* Bump to v1.7.0-devMatthew Heon2019-12-11
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Bump to v1.7.0-rc1v1.7.0-rc1Matthew Heon2019-12-11
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Enable multi-platform rpm buildingSorin Sbarnea2019-12-05
| | | | | | | | | | | | | | | | - make: fix python detection for multiple interpreters - make: create generic `package` and `package-install` targets - build_rpm.sh: move package installation into package-install - build_rpm.sh: fix dnf/yum detection - build_rpm.sh: install md2man rpm only on platfroms where is available - build_rpm.sh: temporary skip packaging docs and debug on rhel-8 - docs: `make package-install` This change is validated by new CI jobs run by rdoproject. See link below for result. Depends-On: https://review.rdoproject.org/r/#/c/23943/ Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
* Improve dnf tests inside build_rpm.shSorin Sbarnea2019-12-04
| | | | | | | | - Fix bug failing to detect dnf in various locations - Add missing sudo to yum/dnf calls - Fix bug where pkg_manager may endup with a multi-line value Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
* Updates on making doc building and debug optionalChandan Kumar (raukadah)2019-12-03
| | | | | | | | | | | | | | It changes the podman spec from using with_doc to bcond_without for building docs so that anyone can pass --without doc as well as other rpmbuild args to the build_rpm.sh script to skip building docs. Since go-md2man is not available in CentOS8 repo. without the help fo extra_args, it makes it conditional. It also moves the manpages to a seperate package. Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
* Merge pull request #4587 from raukadah/btrfsOpenShift Merge Robot2019-11-29
|\ | | | | Disable btrfs for RHEL in podman spec
| * Donot install btrfs in RHEL/CentOS-8Chandan Kumar (raukadah)2019-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since btrfs-progs-devel is not available in RHEL/CentOS 8 and the spec fails to build it while running build_rpm.sh, making it optional fixes the issue. It also modifies the spec file to install btrfs-progs-devel for fedora only. Since golang-github-cpuguy83-go-md2man was added twice, it also removes the repetition. Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
* | Merge pull request #4590 from raukadah/docsOpenShift Merge Robot2019-11-29
|\ \ | | | | | | Make doc building in spec optional
| * | Make doc building in spec optionalChandan Kumar (raukadah)2019-11-28
| |/ | | | | | | | | | | | | since go-man2md is not available in CentOS 8, making it optional allows them to build the rpm. Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
* / Improved build_rpm.shSorin Sbarnea2019-11-27
|/ | | | | | | - assure we use bash strict mode to avoid missing errors - added untracked artifacts to gitignore Signed-off-by: Sorin Sbarnea <sorin.sbarnea@gmail.com>
* codespell: spelling correctionsDmitry Smirnov2019-11-13
| | | | Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
* Add support for make vendor-in-containerDaniel J Walsh2019-11-08
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Bump development version to 1.6.4-devMatthew Heon2019-11-04
| | | | Signed-off-by: Matthew Heon <matthew.heon@pm.me>
* Merge pull request #4379 from cevich/fix_upload_release_archiveOpenShift Merge Robot2019-10-30
|\ | | | | Cirrus: Fix upload_release_archive on branch or tag
| * Cirrus: Fix upload_release_archive on branch or tagChris Evich2019-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cirrus-CI only sets `$CIRRUS_BASE_SHA` when testing PRs since the destination and it's state is easy to discover. However, when post-merge and/or tag-push testing, the previous state is not easily discoverable (changes have already merged). The `upload_release_archive` script incorrectly assumed this variable was always set, causing a constant stream of post-merge testing failures. Tweak the `is_release()` function to properly handle an empty `$CIRRUS_BASE_SHA` whether or not `$CIRRUS_TAG` is also set. Also update the unit-tests to check for this. Also account for a corner case where hack/get_ci_vm.sh is running on a VM w/o git. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Merge pull request #4365 from cevich/safe_loadOpenShift Merge Robot2019-10-30
|\ \ | | | | | | Cirrus: Fix minor python deprecation warning
| * | Cirrus: Fix minor python deprecation warningChris Evich2019-10-29
| | | | | | | | | | | | Signed-off-by: Chris Evich <cevich@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>
* | Merge pull request #4310 from nalind/manifest-listsOpenShift Merge Robot2019-10-29
|\ \ | | | | | | Move to containers/image v5, support manifest lists
| * | bump containers/image to v5.0.0, buildah to v1.11.4Nalin Dahyabhai2019-10-29
| |/ | | | | | | | | | | | | | | | | Move to containers/image v5 and containers/buildah to v1.11.4. Replace an equality check with a type assertion when checking for a docker.ErrUnauthorizedForCredentials in `podman login`. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
* / Cirrus: Only upload tagged releasesChris Evich2019-10-29
|/ | | | | | | | | | | | | | | | | | Prior to this commit, every push to master had it's builds packaged and uploaded to google storage. This is a waste, since potential users are only ever concerned about tagged releases. Unfortunately because the release process involves humans with potentially multiple human and automation steps happening in parallel, it's easy for automation to not detect a tagged release, or trigger on development|pre-release tags. Fix this in `upload_release_archive.sh` using a new unit-tested function `is_release()`. This acts as the definitive authority on whether or not a specific commit rage or `$CIRRUS_TAG` value constitutes something worthy of upload. Signed-off-by: Chris Evich <cevich@redhat.com>
* Bump to v1.6.3-devMatthew Heon2019-10-17
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Merge pull request #4222 from cevich/collect_varlink_logOpenShift Merge Robot2019-10-09
|\ | | | | Cirrus: Produce and collect varlink output
| * 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>
* | Merge pull request #4218 from jlebon/pr/drop-alsoOpenShift Merge Robot2019-10-09
|\ \ | | | | | | io.podman.socket: drop Also=multi-user.target
| * | io.podman.socket: drop Also=multi-user.targetJonathan Lebon2019-10-08
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using `Also=` means that the target unit will also be installed/uninstalled together with our unit. Doing `Also=multi-user.target` essentially says: disable `multi-user.target` if `io.podman.socket` is disabled, which sounds... not at all like what we want. In practice, systemd thankfully ignores this (likely because it's the default target). I think having `Also=io.podman.socket` in the `io.podman.service` already does what we want here: it gets installed under `sockets.target` whenever the service is. (And the fact that systemd ignored this means that it wasn't actually playing a role in resolving #3998.) This was causing `systemctl preset-all` to dump core in Fedora CoreOS: https://github.com/coreos/fedora-coreos-tracker/issues/290 (Likely there's a systemd bug around here too.) Signed-off-by: Jonathan Lebon <jonathan@jlebon.com>
* / Cirrus: Install conmon in Fedora VMsChris Evich2019-10-07
|/ | | | | | | | | | This is needed because older versions of podman (1.5.1) do not automatically install the new conmon package. Also, include removal of `/usr/libexec/podman/conmon` when preparing to install and test podman built from source. Signed-off-by: Chris Evich <cevich@redhat.com>
* Update c/image to v4.0.1 and buildah to 1.11.3Miloslav Trmač2019-10-04
| | | | | | | | | | | | | | This requires updating all import paths throughout, and a matching buildah update to interoperate. I can't figure out the reason for go.mod tracking github.com/containers/image v3.0.2+incompatible // indirect ((go mod graph) lists it as a direct dependency of libpod, but (go list -json -m all) lists it as an indirect dependency), but at least looking at the vendor subdirectory, it doesn't seem to be actually used in the built binaries. Signed-off-by: Miloslav Trmač <mitr@redhat.com>
* Merge pull request #4180 from cevich/update_download_linksOpenShift Merge Robot2019-10-04
|\ | | | | Docs: Update links, add links to latest
| * Cirrus: Fix log URIs & add optional $ALSO_FILENAMEChris Evich2019-10-03
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Simplify package NVR loggingChris Evich2019-10-03
|/ | | | | | Also include runc/crun version for Fedora Signed-off-by: Chris Evich <cevich@redhat.com>
* Bump to v1.6.2-devMatthew Heon2019-10-02
| | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* Merge pull request #4154 from cevich/show_packagesOpenShift Merge Robot2019-10-01
|\ | | | | Cirrus: Show names/versions of critical packages
| * Cirrus: Show names/versions of critical packagesChris Evich2019-10-01
| | | | | | | | | | | | | | Adds an output to all testing tasks which lists the names/versions of critical/essential packages present on the VM. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Merge pull request #4090 from vrothberg/build-catatonitOpenShift Merge Robot2019-10-01
|\ \ | |/ |/| Build catatonit
| * catatonit: clone and buildValentin Rothberg2019-09-25
| | | | | | | | | | | | | | | | Instead of unconditionally pulling the x86 binary, clone the repository and build the binary to make it independent of the architecture. Fixes: #2699 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
* | Bump to v1.6.1-devMatthew Heon2019-09-30
| | | | | | | | Signed-off-by: Matthew Heon <mheon@redhat.com>
* | Merge pull request #4100 from cevich/cache_image_docsOpenShift Merge Robot2019-09-29
|\ \ | | | | | | Cirrus: VM Image accounting doc update
| * | Cirrus: VM Image accounting doc updateChris Evich2019-09-24
| |/ | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | Merge pull request #4028 from cevich/add_bash_completion_supportOpenShift Merge Robot2019-09-29
|\ \ | | | | | | cirrus: Add bash-completion support
| * | Cirrus: Disable boottime Ubuntu package updateChris Evich2019-09-26
| | | | | | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
| * | cirrus: Add bash-completion supportChris Evich2019-09-26
| |/ | | | | | | | | | | | | | | This is fairly standard thing to have on a user's workstation, supported by podman. When installed in a VM image, then it's useful for debugging with `hack/get_ci_vm.sh` at the cost of a minor increase in disk-space. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Merge pull request #4127 from nalind/reexec-useOpenShift Merge Robot2019-09-27
|\ \ | | | | | | Correct use of reexec.Init()