Commit Graph

12 Commits

Author SHA1 Message Date
Sorin Sbarnea da0319fecd packaging: validate installed rpms
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>
2020-01-07 20:06:27 +00:00
Neville Cain 16b793a45a Generate binaries only if they are changes in src code.
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>
2020-01-04 23:54:57 +01:00
Chandan Kumar (raukadah) b54c350a07 Use systemd/sd-daemon.h headers for systemd presence
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>
2019-12-16 20:37:15 +05:30
Sorin Sbarnea a03c3a9318 Enable multi-platform rpm building
- 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>
2019-12-05 10:34:10 +00:00
Sorin Sbarnea 578a836d7d Improve dnf tests inside build_rpm.sh
- 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>
2019-12-04 10:48:26 +00:00
Chandan Kumar (raukadah) 1414a063f5 Updates on making doc building and debug optional
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>
2019-12-03 07:57:50 +05:30
OpenShift Merge Robot 1c0356ee91
Merge pull request #4587 from raukadah/btrfs
Disable btrfs for RHEL in podman spec
2019-11-29 12:02:37 +01:00
Chandan Kumar (raukadah) eb3cbdd628 Donot install btrfs in RHEL/CentOS-8
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>
2019-11-28 18:38:22 +05:30
Sorin Sbarnea 7605387a70 Improved build_rpm.sh
- assure we use bash strict mode to avoid missing errors
- added untracked artifacts to gitignore

Signed-off-by: Sorin Sbarnea <sorin.sbarnea@gmail.com>
2019-11-27 17:59:06 +00:00
Giuseppe Scrivano 2046be6ae0
build: drop support for ostree
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>
2019-10-30 11:28:10 +01:00
baude 9e315518aa Test RPM build and install for regressions
On Fedora and now Centos (added), we build RPMs based on the spec in
contrib/spec to make sure we protect against regressions when creating
RPMs.  Once the RPM is built, we then test actually installing the RPM
to ensure that no deps are missing for install.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #1356
Approved by: rhatdan
2018-08-28 11:53:09 +00:00
baude 69a741817b Test regressions against the RPM spec file
We need to make sure we dont break the RPM spec files week-to-week.  If we do, the
packagers need to have a place to look at what changes are needed to the SPEC so
they can pull the changes into the distributions.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #1230
Approved by: rhatdan
2018-08-07 20:23:53 +00:00