Commit graph

42 commits

Author SHA1 Message Date
Valentin Rothberg
fc84cfdace
Merge pull request #18 from vbatts/clearer_driver_log
BuildSourceImage: group the driver log
2019-09-11 11:10:21 +02:00
Valentin Rothberg
114228365f
Merge pull request #22 from vrothberg/add-badge
README: add Travis CI badge
2019-09-11 11:09:42 +02:00
Valentin Rothberg
266849dae9 README: add Travis CI badge
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-09-11 11:08:23 +02:00
Valentin Rothberg
e6560ab399
Merge pull request #21 from vrothberg/enable-ci
Enable ci
2019-09-11 11:06:36 +02:00
Valentin Rothberg
9f4b80d054 Enable Travis CI
Enable a simple CI via Travis which currently install skopeo and
shellcheck and runs `make validate`.

Fixes: #13
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-09-11 11:00:48 +02:00
Valentin Rothberg
cbaca108b9 Add a Makefile
Add a simple Makefile with a `validate` target to run `shellcheck -a` on
the script.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-09-11 10:41:07 +02:00
Valentin Rothberg
48c7ea2cc2
Merge pull request #20 from vbatts/readme
README: updating for the new version
2019-09-11 08:50:59 +02:00
Valentin Rothberg
8faa7452f6
Merge pull request #19 from vbatts/rebase_cruft
BuildSourceImage: remove cruft from the rebase during rewrite
2019-09-11 08:46:50 +02:00
c0629904c3
README: updating for the new version
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 14:27:21 -04:00
513a7fd6f7
BuildSourceImage: remove cruft from the rebase during rewrite
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 11:12:14 -04:00
29899c15f5
BuildSourceImage: group the driver log
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 10:19:38 -04:00
Valentin Rothberg
43b2d2e7b5
Merge pull request #11 from vbatts/rewrite
Complete Rewrite
2019-09-10 15:39:15 +02:00
9fabac2890
BuildSourceImage: bail with information, if not inputs are provided
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:35:00 -04:00
84b889e1ad
BuildSourceImage: version flag
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:18:43 -04:00
433272896f
BuildSourceImage: switch to -s for SRPMs
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:10:56 -04:00
088e55ee76
*: more review updates from VR
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:44 -04:00
e99be3b2f8
Dockerfile: plugins for dnf download
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:41 -04:00
e6ca9482c8
BuildSourceImage: flipped condition!
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:39 -04:00
9f68658629
BuildSourceImage: changes for VR's review
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:37 -04:00
a4444e2e90
BuildSourceImage: lint cleanup reported by shellcheck -a
more info at https://www.shellcheck.net/wiki/

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:35 -04:00
b0940d1f87
Dockerfile: trim down to the bash rewrite
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:33 -04:00
89bfe5bf20
BuildSourceImage: basic function of pushing the image afterward
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:31 -04:00
9078c53d4c
BuildSourceImage: ensure that build from only SRPMS works
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:29 -04:00
adcad3d78a
BuildSourceImage: looks like golang ts of RFC 3339 is special
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:27 -04:00
977a003d16
*: tying it all together
this makes everything a flag now. This is not 100%

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:25 -04:00
b7e49bc1c6
awk: don't print the newline. Removes the need for a tr
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:23 -04:00
0d103e778f
BuildSourceImage: readying for the koji use case
for koji, there will be no fetching of the image, nor fetching of RPMS
using `dnf download --source ...`. They'll just provide a directory of
SRPMS used (perhaps as a composite of architectures). And just add these
in similar fashion as when fetching.

This used with the flag to specify which drivers to run will allow
tailoring to just that use-case.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:21 -04:00
56fd7c4de9
*: big rewrite
_(this is a WIP)_

for the requirements to not be so bound to RPM only, breaking collection
of sources out into "plugins". Currently not much more sophisticated
than just iterating through bash functions that expect 3 argugments.
rootfs of the inspectee; output path for the sources collected; manifest
path.
The idea for the manifest is still loose, but how best to follow up the
plugin which collected source, to then have the rich metadata available
to attach to the individual "layers" that are produced for each source
component.

for the requirement of most contrained non-root container running this
script as non-root, we'll switch away from buildah for now. This ought
to just be skopeo copy, unpacking, inspecting, json, and skopeo copy. No
mounting, no namespacing, etc.

for the sake of writing unit tests (i.e. `bats`), break the script into
a way that it can be sourced and run the functions individually. Only
act like the whole script when run directly.

If `umoci` is available it will get used for some functions (like
unpacking), but it is not required and will be attempted with jq and
bash otherwise.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:19 -04:00
f5db5f704f
Dockerfile and export image if OUTPUT_DIR
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:12 -04:00
Daniel J Walsh
22a20a5e28
Merge pull request #9 from vbatts/errout
exit on errors
2019-08-15 06:36:41 -04:00
Daniel J Walsh
f2ce78a17b
Merge pull request #8 from vbatts/srpm
clearer variable name than "i"
2019-08-15 06:21:54 -04:00
26f5cce2a0
exit on errors
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-08-14 10:12:35 -04:00
311730a347
clearer variable name than "i"
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-08-14 08:10:49 -04:00
Daniel J Walsh
f1e87285dc
Merge pull request #7 from nalind/timestamps
Correct quoting, histories
2019-08-01 06:42:50 -04:00
Nalin Dahyabhai
cff4c01971 Correct quoting, histories
Before doing anything, ensure that we have at least two arguments.
Correct misuse of $() when ${} was intended, to reference environment
variables.
Use `buildah config --created-by` rather than `--add-history` to set the
CreatedBy field when committing new images, so that they only add one
history entry.
Set timestamps on .src.rpm files to their build date, rather than 0.
Commit new images using --omit-timestamp, to make their own timestamps
predictable.
Only name the final image.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-07-31 19:25:46 -04:00
Daniel J Walsh
8e1048f23f
Merge pull request #5 from rhatdan/source
Do not compress source code images
2019-07-22 07:23:54 -04:00
Daniel J Walsh
785ad324cb
Do not compress source code images
Source code rpms are already compressed, so no reason
to compress for a seecond time.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-07-22 06:38:23 -04:00
Daniel J Walsh
750a82bddc
Merge pull request #1 from rhatdan/source
Update to match upstream.
2019-07-16 09:51:06 -04:00
Daniel J Walsh
740a3b60fa
Fixes to make the images sharable
Changing the time on all SRC RPMS to EPOCH So the images will always have
the same date on them.  This prevents us from getting variance and allows the
blobs to be shared.

Also now commit each layer and start a new container based on the previous

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-07-16 09:50:48 -04:00
Jindrich Novy
239362b8d0 Filter out all gpg-pubkey entries from rpmdb as these are not RPMs. 2019-07-15 10:53:50 +02:00
Daniel J Walsh
67d628b22a
Initial Version
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-07-12 14:47:11 -04:00
Daniel J Walsh
e97ca7be11
Initial commit 2019-07-12 14:36:52 -04:00