Opcja yocto project umożliwia użycie ścieżki względnej w większości plików konfiguracyjnych, ale nie w pliku ./build/conf/bblayers.conf
. Jaki jest powód zablokowania użycia jakichkolwiek ścieżek bezwzględnych dla zmiennych BBLAYERS
i BBLAYERS_NON_REMOVABLE
?Dlaczego plik yocto bblayers.conf używa bezwzględnych ścieżek?
Spojrzałem na BitBake user manual for yocto version 2.0 (wersja aktualna), ale to nie wyjaśnia rozumowania. Sprawdziłem także niektóre ze starszych wersji ręcznych, ale wydaje się, że nie wspominają one o uzasadnieniu, mówiąc o pliku bblayers.conf
lub zmiennej BBLAYERS
. Ten sam plik zawiera także BBPATH = "${TOPDIR}"
, który jest przynajmniej dynamicznie przypisany i nie jest tak daleko od głównego katalogu yotco.
Moje najlepsze przypuszczenie jest takie, że plik bblayers.conf jest specyficzny dla systemu, na którym jest uruchamiany. To uniemożliwiłoby dzielenie się między programistami za pomocą kontroli źródła, a bezwzględne ścieżki zmusiłyby ludzi do edycji pliku za każdym razem, gdy otrzymali kopię. Nie wydaje się to jednak dobrym powodem, stąd pytanie.
Czy kiedykolwiek zastanawiałeś się, jak to zrobić? Siedząc teraz w tej samej łodzi :) –
@MarioTacke nie, ja nie. Myślę, że odpowiedź brzmi, że plik 'bblayers.conf' ma być specyficzny dla użytkownika na komputerze i tylko tymczasowy. Po wybraniu pożądanych warstw, powinieneś stworzyć przepis, który zastąpi większość zawartości 'bblayers.conf'. Możesz użyć '$ {HOME}', '$ {TOPDIR}' i kilku innych podstawień, ale nie ścieżek względnych. – TafT
Nikt nie odpowiada na pytanie. Nie pytam "Jak używać względnych ścieżek" Pytam "Dlaczego ich użycie jest zablokowane". Patrząc wstecz na to teraz, zgaduję, że odpowiedź jest na skuteczność. W przypadku bezwzględnej ścieżki możesz przejść bezpośrednio do pliku docelowego. Dla ścieżki względnej musisz opracować bieżący katalog roboczy, obliczyć, czym jest N dużo '../' powyżej i przenieść się tam, a następnie cofnąć w dół inną ścieżkę katalogu. To brzmi jak więcej pracy niż przejść do/home/TafT/yocto/meta. – TafT