Closed bureado closed 4 years ago
Thanks for filing this!
The
build/distri/pkg
path isn't shipped in the git repo today. So if it's expected to be an immutable convention it should be generated automatically by commands such asdistri build
ordistri scaffold
.
It should indeed by created by distri build
.
Furthermore, it might be appropriate to use the local store for the
pkg/
path, for example:
Sometimes, yes. I can think of situations where it wouldn’t be helpful: when you are running something else (e.g. an older release of distri, trying to build a newer one). In other situations, it might even be harmful: suppose you modified a package on your local system without bumping the revision number.
I think the safer approach is to allow users to (lazily) populate these directories. Perhaps distri build
should fetch all the build dependencies, whereas distri batch
actually builds them (but should fetch the bootstrap dependencies).
It's also unclear to me why
DefaultRepo
andDefaultRepoRoot
are split, but I see some usage across the code that probably needs to be harmonized before any changes, or they should both be environment variables.
Agreed!
distri env
outputs three variables today.Unlike
DISTRIROOT
andDISTRICFG
, which do respond to environment,DEFAULTREPO
is hardcoded today asDISTRIROOT
+build/distri/pkg
.The
build/distri/pkg
path isn't shipped in the git repo today. So if it's expected to be an immutable convention it should be generated automatically by commands such asdistri build
ordistri scaffold
.distri scaffold
createsbuild/<pkg>
but right now,distri build
fails to create anybuild/distri
paths:Furthermore, it might be appropriate to use the local store for the
pkg/
path, for example:IMHO,
distri env
shouldn't output variables that can't be overriden. I think it's probably OK to haveDefaultRepoRoot + /pkg
hardcoded (although a bit confusing withpkg/
in the main repo for sources) but then DefaultRepo[Root] need to be handled just like DistriRoot and DistriConfig.It's also unclear to me why
DefaultRepo
andDefaultRepoRoot
are split, but I see some usage across the code that probably needs to be harmonized before any changes, or they should both be environment variables.