This may be the case if repo.sh did not build any TOML recipes. In that
case, we can just exit cleanly.
Signed-off-by: Anhad Singh <andypython@protonmail.com>
Fixes the bug where libgcc was unnecessarily building multiple times.
Which in turn caused other packages to rebuild.
Example: The source path is set to `prefix/${TARGET}/sysroot`. Currently
the way `cook` handles `source.path` ends up messing the timestamp of
`recipes/libs/libgcc/source` as it just performs `copy_dir_all(path,
&source_dir)` without checking if the timestamp of the source path
specified in the recipe was changed. This would consequently update the
timestamp of the source and cause it to rebuild.
Signed-off-by: Anhad Singh <andypython@protonmail.com>
Before it was not check if the shared dependencies of a package had been
built. This resulted in the installer panicking as it tried to install
a non-built package. This commit fixes that issue.
Signed-off-by: Anhad Singh <andypython@protonmail.com>
By default all libraries and applications that can be dynamically linked
will be dynamically linked. You can override this behaviour by setting
the `COOKBOOK_PREFER_STATIC` environment variable. Note that if you
perviously did not use this flag, it might (most likely will) require a
complete userland sysroot recompilation.
It will look like this:
```bash
$ make clean
$ COOKBOOK_PREFER_STATIC=yes make image
```
For testing, the following will also work:
```bash
$ COOKBOOK_PREFER_STATIC=yes make cr.{PACKAGE_NAME} # obviously replace
# PACKAGE_NAME with
# the name of a package :)
```
Signed-off-by: Anhad Singh <andypython@protonmail.com>
This make a simple make r.initfs enough to rebuild the initfs when
changing drivers. Previously make cr.initfs was necessary which rebuilds
redox-initfs-ar from scratch.
This makes the source section of recipe.toml optional, so that one can
simply create a recipe with a build recipe and a source folder and not
have to worry about git at all just to get a program running in redox.
I also ran into a situation where a source directory without a git
repository in it caused cookbook to reset it's own origin URL to the URL
specified in the recipe for that source directory. I added a check to
prevent that happening to anybody else.