Preamble
Pipi stores software configuration within each folder. The folder is then said to have "exposed" this configuration to itself and any sub-directory.
root
hulk
softwarex
shots
1000 <-- "softwarex" is available here
The issue relates to where to store metadata. Metadata is used as a means of storing:
- Startup flags, e.g.
-hideConsole
- Startup keyword arguments, e.g.
-proj /home/marcus
- Software-dependent environment variables, e.g.
PYTHONPATH=/home/marcus
Software configuration is cascading; which is how 1000 from above has access to software "exposed" by hulk. Metadata is also meant to cascade.
root
hulk
softwarex
myflag1
shots
1000
softwarex
myflag2
Here, hulk exposes softwarex with myflag1 configured. 1000 then adds myflag2 to this configuration of softwarex.
The end result is that softwarex run from 1000 will run using both flags; whereas if run anywhere else would result in just using myflag1
The problem
Cascading happens only along directories that are directly ascended:
# Cascading in action
root <-- ADD
hulk <-- ADD
softwarex
shots <-- ADD
1000 <-- ADD
softwarex <-- START
Here we can see that hulk/softwarex isn't included in the cascading operation. That's because hulk/softwarex isn't at any point a parent of 1000.
As a result, the metadata of hulk/softwarex isn't added to the metadata of 1000/softwarex
Preamble
Pipi stores software configuration within each folder. The folder is then said to have "exposed" this configuration to itself and any sub-directory.
root hulk softwarex shots 1000 <-- "softwarex" is available hereThe issue relates to where to store metadata. Metadata is used as a means of storing:
-hideConsole-proj /home/marcusPYTHONPATH=/home/marcusSoftware configuration is cascading; which is how
1000from above has access to software "exposed" byhulk. Metadata is also meant to cascade.root hulk softwarex myflag1 shots 1000 softwarex myflag2Here,
hulkexposessoftwarexwithmyflag1configured.1000then addsmyflag2to this configuration ofsoftwarex.The end result is that
softwarexrun from1000will run using both flags; whereas if run anywhere else would result in just usingmyflag1The problem
Cascading happens only along directories that are directly ascended:
Here we can see that
hulk/softwarexisn't included in the cascading operation. That's becausehulk/softwarexisn't at any point a parent of1000.As a result, the metadata of
hulk/softwarexisn't added to the metadata of1000/softwarex