13 Commits

Author SHA1 Message Date
6e1a52f871 cleanup: make: skip a cd to docker_src, as this is our roo Makefile 2022-05-24 17:13:00 -04:00
b64d92b905 fix: make: Only touch (another) build sentinel on success 2022-05-24 17:09:11 -04:00
3203bdc98d fix: make: pre-mkdir the target build directory 2022-05-24 17:08:38 -04:00
0ce4a46d65 fix: build: Only touch builder sentinel on success 2022-05-24 17:04:11 -04:00
e0b62e4b47 fix: generalize Debian builder 'built' sentinel
... to all debian versions, by using a % in the Makefile.
2022-05-24 17:03:21 -04:00
5fc260e155 Document the main Makefile a little less poorly 2021-03-16 19:27:09 +00:00
5916b3e7a3 oops 2021-02-15 16:35:11 +00:00
b056beb2f8 Rework the builder targets so we may use different remotes
Now, in order to set up the builder at a given remote @ commit , we
will want to make

     ${docker_src}/built/openwrt-builder-remote_commit.sentinel

... and then use the openwrt-builder-remote_commit image as a base.

New remotes can / should be added to openwrt-remotes.txt. Honestly
this oughta have been under the openwrt dir but, eh.
2021-02-15 16:29:00 +00:00
8e1feaa4ff Clean up how a variable gets set up 2021-02-15 16:26:22 +00:00
fe8eae25e9 openwrt-builder-commit: For commit-specific OpenWrt builds
Now we can set up an OpenWrt builder as we want -- just run

    make built/openwrt-builder-${commit}.sentinel

and then

    docker run ${args} openwrt-builder-${commit} ${CMD}

This will won't need to pull down everything from scratch: the image
is already cached and has everything it needs to compile.

As for what ${args} would need to be for this to work:

- You need to mount a +x build system prep script to /input.sh

- You need to mount a +x build system output extractor to /output.sh

- You need to mount a folder with input resources to /input

- You need to mount an output folder to /output

So, /input.sh could `cp /input/diffconfig /builder/openwrt/.config`,
then cd to /builder/openwrt and run `make defconfig`. The ${CMD} could
then actually build, and /output.sh could collect logs and build
artefacts to /output.

But each of those build system setups can be disincluded from the
main build-system setup per-commit. We no longer have to repeatedly
setup the entire build system just to keep build environments for
different boards separate: only the things that are different between
build trees need that to be done.

Oh, and no more builds spoiled by stale artefacts :D
2021-02-08 15:11:41 +00:00
c26800155e Add an include guard to the main makeflie 2021-02-08 15:03:41 +00:00
98a0a68d57 Set up certain environment variables into a vars file 2021-02-08 14:54:02 +00:00
fc6902981c Initial setup
The point of this is to separate dockerfiles and build them on top of
each other wherever possible.

Then we can build them interdependently with makefiles!
2021-02-06 21:47:58 +00:00