Skip to content

Commit

Permalink
Merge pull request #17 from liangchenye/contrib
Browse files Browse the repository at this point in the history
add contrib directory and mv get-stage3 to that
  • Loading branch information
Mrunal Patel committed Feb 5, 2016
2 parents aad6671 + 607ee90 commit 0ad2df8
Show file tree
Hide file tree
Showing 8 changed files with 68 additions and 64 deletions.
27 changes: 1 addition & 26 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,8 @@ all:
install:
cp ocitools /usr/local/bin/ocitools

rootfs.tar.gz: rootfs/bin/echo
tar -czf $@ -C rootfs .

rootfs/bin/busybox: downloads/stage3-amd64-current.tar.bz2 rootfs-files
gpg --verify $<.DIGESTS.asc
(cd downloads && \
grep -A1 '^# SHA512 HASH' stage3-amd64-current.tar.bz2.DIGESTS.asc | \
grep -v '^--' | \
sha512sum -c)
sudo rm -rf rootfs
sudo mkdir rootfs
sudo tar -xvf downloads/stage3-amd64-current.tar.bz2 -C rootfs \
--no-recursion --wildcards $$(< rootfs-files)
sudo touch $@

rootfs/bin/echo: rootfs/bin/busybox
sudo sh -c 'for COMMAND in $$($< --list); do \
ln -rs $< "rootfs/bin/$${COMMAND}"; \
done'

downloads/stage3-amd64-current.tar.bz2: get-stage3.sh
./$<
touch downloads/stage3-amd64-*.tar.bz2

clean:
rm -f ocitools runtimetest downloads/*
sudo rm -rf rootfs
rm -f ocitools runtimetest

.PHONY: test .gofmt .govet .golint

Expand Down
38 changes: 0 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,41 +68,3 @@ validating rlimits
validating sysctls
Runtime runc passed validation
```

Building `rootfs.tar.gz`
------------------------

The root filesystem tarball is based on [Gentoo][]'s [amd64
stage3][stage3-amd64] (which we check for a valid [GnuPG
signature][gentoo-signatures]), copying a [minimal
subset](rootfs-files) to the root filesytem, and adding symlinks for
all BusyBox commands. To rebuild the tarball based on a newer stage3,
just run:

```
$ touch get-stage3.sh
$ make rootfs.tar.gz
```

### Getting Gentoo's Release Engineering public key

If `make rootfs.tar.gz` gives an error like:

```
gpg --verify downloads/stage3-amd64-current.tar.bz2.DIGESTS.asc
gpg: Signature made Thu 14 Jan 2016 09:00:11 PM EST using RSA key ID 2D182910
gpg: Can't check signature: public key not found
```

you will need to [add the missing public key to your
keystore][gentoo-signatures]. One way to do that is by [asking a
keyserver][recv-keys]:

```
$ gpg --keyserver pool.sks-keyservers.net --recv-keys 2D182910
```

[Gentoo]: https://www.gentoo.org/
[stage3-amd64]: http://distfiles.gentoo.org/releases/amd64/autobuilds/
[gentoo-signatures]: https://www.gentoo.org/downloads/signatures/
[recv-keys]: https://www.gnupg.org/documentation/manuals/gnupg/Operational-GPG-Commands.html
3 changes: 3 additions & 0 deletions contrib/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# ocitools contrib

The `contrib` directory contains various scripts, programs, and other helpful things which are not part of the core ocitools.
27 changes: 27 additions & 0 deletions contrib/rootfs-builder/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
rootfs.tar.gz: rootfs/bin/echo
tar -czf $@ -C rootfs .

rootfs/bin/busybox: downloads/stage3-amd64-current.tar.bz2 rootfs-files
gpg --verify $<.DIGESTS.asc
(cd downloads && \
grep -A1 '^# SHA512 HASH' stage3-amd64-current.tar.bz2.DIGESTS.asc | \
grep -v '^--' | \
sha512sum -c)
sudo rm -rf rootfs
sudo mkdir rootfs
sudo tar -xvf downloads/stage3-amd64-current.tar.bz2 -C rootfs \
--no-recursion --wildcards $$(< rootfs-files)
sudo touch $@

rootfs/bin/echo: rootfs/bin/busybox
sudo sh -c 'for COMMAND in $$($< --list); do \
ln -rs $< "rootfs/bin/$${COMMAND}"; \
done'

downloads/stage3-amd64-current.tar.bz2: get-stage3.sh
./$<
touch downloads/stage3-amd64-*.tar.bz2

clean:
rm -f downloads/*
sudo rm -rf rootfs
37 changes: 37 additions & 0 deletions contrib/rootfs-builder/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Building `rootfs.tar.gz`
------------------------

The root filesystem tarball is based on [Gentoo][]'s [amd64
stage3][stage3-amd64] (which we check for a valid [GnuPG
signature][gentoo-signatures]), copying a [minimal
subset](rootfs-files) to the root filesytem, and adding symlinks for
all BusyBox commands. To rebuild the tarball based on a newer stage3,
just run:

```
$ touch get-stage3.sh
$ make rootfs.tar.gz
```

### Getting Gentoo's Release Engineering public key

If `make rootfs.tar.gz` gives an error like:

```
gpg --verify downloads/stage3-amd64-current.tar.bz2.DIGESTS.asc
gpg: Signature made Thu 14 Jan 2016 09:00:11 PM EST using RSA key ID 2D182910
gpg: Can't check signature: public key not found
```

you will need to [add the missing public key to your
keystore][gentoo-signatures]. One way to do that is by [asking a
keyserver][recv-keys]:

```
$ gpg --keyserver pool.sks-keyservers.net --recv-keys 2D182910
```

[Gentoo]: https://www.gentoo.org/
[stage3-amd64]: http://distfiles.gentoo.org/releases/amd64/autobuilds/
[gentoo-signatures]: https://www.gentoo.org/downloads/signatures/
[recv-keys]: https://www.gnupg.org/documentation/manuals/gnupg/Operational-GPG-Commands.html
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 0ad2df8

Please sign in to comment.