diff --git a/cook.sh b/cook.sh index 7495999aa3a8f48f1b0d4b16d11e6867dc9941bf..2432e9aff981e55cebaf54d3ef5a271e583c11d6 100755 --- a/cook.sh +++ b/cook.sh @@ -195,12 +195,20 @@ function op { rm -rfv stage ;; tar) + # Compile pkgutils if needed + if [ ! -f "$ROOT/pkgutils/target/release/pkg" ] + then + pushd "$ROOT/pkgutils/" > /dev/null + TARGET=x86_64-unknown-redox cargo build --release + popd > /dev/null + fi + echo "name = \"$1\"" > "stage.toml" echo "version = \"$(op $1 version)\"" >> "stage.toml" echo "target = \"$TARGET\"" >> "stage.toml" mkdir -p stage/pkg cp -v stage.toml "stage/pkg/$1.toml" - TARGET=x86_64-unknown-redox cargo run --release --manifest-path "$ROOT/pkgutils/Cargo.toml" --bin pkg -- create stage + "$ROOT/pkgutils/target/release/pkg" create stage ;; untar) rm -rfv stage.tar stage.sig stage.toml