Dynamically link sqlite3 when installed, the main motivation is that we
reduce the podman binary size with that. I see about 3.2 MB savings.
But also dynamically linking it means if there a vulnerabilities only
the sqlite3 distro package needs updating and we don't have to make a
new podman release with the vendored update.
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
The current list of sources doesn't list vendor sources and some other
.go files, requiring manual modifications to the Makefile to build
binaries. This change uses `find` (from Podman's Makefile) to detect .go
files across the repo.
Removes the validation script since we're no longer specifying sources
manually. And removes explicit *.go files as binary sources.
Signed-off-by: Danish Prakash <contact@danishpraka.sh>
Update references to specific versions of golang in the Makefile and the
Cirrus CI configuration to match go.mod, and add a check in the 'vendor'
target that CI runs that the image it's run inside is a close-enough
match to the version listed in go.mod.
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
Add a validation script that checks that we haven't forgotten to add any
new packages to the SOURCES definition in the top-level Makefile.
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
libsubid changes its ABI in version 4. Account for the different name
in the configure script.
Closes: https://github.com/containers/buildah/issues/4063
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
The use of the generic 'DEBUG' name in varialbes or flags can be very
problematic and lead to difficult to troubleshoot problems. Update CI
VM images to those including updated automation library that uses the
`$A_DEBUG` env. var. instaed. Also update other repository files which
make use of the generic form.
Signed-off-by: Chris Evich <cevich@redhat.com>
Enforce alphabetical ordering of command-line options in
man pages. Not as simple as with podman, because conventions
are different.
Reference: https://github.com/containers/podman/pull/13625
Signed-off-by: Ed Santiago <santiago@redhat.com>
This will enable remote access to /etc/subuid and /etc/subgid
information from ldap services, if shadow-utils ships with a libsubid.
[NO TESTS NEEDED] Since we have no way to test this.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
It looks like there's some behavior difference between the 1.13 that CI
uses and the 1.16 on my system.
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
Also simplify `lib.sh` after supporting changes incorporated
into automation library 2.x+ (present in all VM and container
images).
* No need to force-load `/etc/profile` and handle it's expectation
to **not** being in `errexit` mode.
* Slightly re-arrange loading of automation library files for
clarity.
* Remove dependency on updating `/etc/environment` for GPG.
* Remove redundant showrun() function (now present in automation
library)
* Update comments.
Signed-off-by: Chris Evich <cevich@redhat.com>
Due to necessary changes in both scripts and within images, updates are
necessary for this script to function. These changes also bring
the script very close to being identical to the same in the
containers/podman repository. The intent is to support a future
where this script can simply be shared across repos.
Signed-off-by: Chris Evich <cevich@redhat.com>
Run 'buildah --help', recursively against all subcommands,
then cross-reference the results against docs/buildah*.md.
Report differences in subcommands and/or flags.
The majority of the changes in this PR are trivial (see
below) but a handful may be controversial and require
careful review:
* Making 'bud' the default output of 'buildah help',
with 'build-using-dockerfile' as an alias. This is
the inverse of the situation until now: buildah
would list build-using-dockerfile as the primary
name. The man page, OTOH, lists 'bud'. The source
file name is 'bud'. I suspect that most people
type 'bud'. So, for consistency, I choose to make
'bud' the default visible command.
* add --encryption-key and --encrypt-layer documentation
to buildah-commit.md, and --encrypt-layer to -push.md.
Please double-check the wording here.
* remove --notruncate from buildah-images.md. The option
does not exist (although there is a TODO comment in
the code). If it should exist, it is left to the
reader to implement. I would humbly suggest that this
is a good idea, for consistency with buildah containers.
* remove --shm-size from buildah-pull.md. The option
does not exist, and I suspect this was a copy-paste error.
* remove --security-opt from run.go. It was unimplemented
and undocumented.
* remove --userns-[gu]id-map from buildah-bud.md. These
are global options, not bud options, and are documented
well enough in buildah.bud.
Trivial (IMO) changes:
* split options in man pages, from '**--foo, -f**'
to '**--foo**, **-f**'. This conforms with the style
used in podman man pages.
* add missing one-letter aliases (usually "-q", "-a")
* add missing man page entries for some easy options
* sort out-of-order subcommand listings in man pages
Finally, do note that this is a copy-and-alter duplicate of the
original script in podman, and that is horrible. In an ideal
world I would've been able to refactor the podman version into
something usable on both repos (and then more). It turns out the
differences in man page format and in special-case handling are
too broad to let me do a clean refactor.
Signed-off-by: Ed Santiago <santiago@redhat.com>
Add initial support for Bors-ng replacement for Homu providing "ever
green" merges of PRs. Ref: https://bors.tech/
Note: Bors-ng cannot deal with tasks marked 'skipped' by Cirrus-CI when
testing or attempting a merge. All tasks must always run on all except
temporary branches. The only significant marker for a required-for-merge
task are the status/pr-status name match strings in `bors.toml`.
Signed-off-by: Chris Evich <cevich@redhat.com>
Thanks to Dmitry Smirnov @onlyjob for suggesting this tool.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Closes: #1985
Approved by: TomSweeneyRedHat
Some operating systems don’t have `bash` in `/bin`, so we should take the
`$PATH` into consideration for searching it.
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Closes: #1804
Approved by: TomSweeneyRedHat
The 'apparmor' build tag is now added if libappamor was found on the
local system.
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Closes: #1763
Approved by: rhatdan
The main goal of this script is test and time builds using Buildah or Docker.
We hope to use it to help optimize Buildah build performance
It takes two options
First option tells the type of the container image
build to do. Valid options are:
Docker - docker build
Buildah - buildah bud
Both - Do docker build followed by buildah bud
Second Option specifies a directory or cleanup
The script will 'find' files beginning with Dockerfile, for each Dockerfile
it finds it will run a build with the Dockerfile and directory for the
context. When it does the builds, it will call time on them to show how
long the builds take. The created image name will be a combination of the
lowercased Directory name that the Dockerfile was found in plus the lower
cased dockerfile name.
if the second field is cleanup, the script will remove all images from the
specified builder.
The script does not check for conflicts on nameing.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Closes: #1505
Approved by: edsantiago
This script can later be integrated into the CI and is meant to be run
after a `make vendor` to make sure that all-things-vendor are in sync.
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Closes: #1350
Approved by: TomSweeneyRedHat
Run conformance tests in after_script section of Travis with
non-blocking failures.
Follow up to #1003
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
This commit will cause Travis to spawn a fedora container
which will build a Dockerfile using docker and buildah bud
and then compare both images using container-diff.
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
Closes: #1003
Approved by: rhatdan