Dodałem do Hierophanta obsługę [files], działa tylko w trybie replace. Dodałem też dosyć toporny mechanizm automatycznego radzenia sobie ze źródłami i patchami w FILES. Toporny, ale całkiem uniwersalny - oddziela patche od źródeł, rozróżnia źródła "primary" i "secondary" ("primary" to wszystko, co wygląda jak paczki ze źródłami, a "secondary" to pozostałe śmieci). Specjalna procedura decyduje o tym, który ze znalezionych pakietów ze źródłami zostanie uznany za ten "główny", a które za "poboczne". Hierophant automatycznie eksportuje ścieżki dostępu do tych plików w seriach zmiennych środowiskowych $SOURCE0, $SOURCE1, $PATCH0, $PATCH1 itp. Dodatkowo przy "ręcznie" zdefiniowanej sekcji [files] eksportowane są zmienne $PL0, $PL1 itp., zawierające ciągi np. "-p1", "-p0" - czyli opcje "patchlevel" przeznaczone dla konkretnego patcha. Definicja sekcji [files] wyglądać może tak:
[files] gqview-1.4.0.tar.bz2 p2:patch1.patch p0:inny_patch.diff p0:dodatkowy_patch.diff.gz dodatkowe_manuale.tar.gz
dodatkowe_manuale będą dostępne przez $SOURCE1, a patche przez $PATCH[0-2], z opcjami -pX pod $PL[0-2]. Kolejność wpisów w [files] decyduje o przyznawaniu numerków zmiennych. Patche i źródła można dowolnie mieszać, bo to dwie osobne kategorie i nie wpływają wzajemnie na swoją numerację.
A automatycznej detekcji plików nawet nie będę próbował tłumaczyć, w każdym razie powinna działać w 90% przypadków. Teraz muszę tylko jakoś dodać automatyczne nakładanie patchy, tzn. żeby autodetekcja od razu dodawała do sekcji [build] (albo [prep]) odpowiedni kod który by aplikował patche. Tutaj przydałoby się jakieś magiczne wykrywanie patchleveli, bo nie ma ich nigdzie podawanych. Teoretycznie jest to do zrobienia, ale jak to w praktyce by wyglądało... nie wiem, spróbuję i się przekonam. Wtedy np. kompilacja pojedynczych źródeł wraz z patchowaniem polegałaby na wrzuceniu paczki źródeł i paru patchy do FILES, a Hierophant powinien resztę sam zrobić. Kolejność aplikowania patchy zależy od ich nazw (sortowanie alfanumeryczne). Sorry, ale maszyny ustalającej poprawną kolejność aplikowania łatek to ja nie zrobię. Owszem, dałoby się (brute force), ale nie o to przecież chodzi. Dobra, spać idę. Dzisiejszą dłubaninę w kodzie uskuteczniałem w otoczeniu kadzidełek (darszan) i własnoręcznie sporządzonej świecy (blaszane, okrągłe pudełko po cukierkach "Butterscotch"+resztki starych świecy+własnego pomysłu knoty ze rdzeniami ze szpilek i podstawkami z małych, okrągłych... yyy... no, siakoś to zrobiłem. Bardzo profesjonalnie wygląda. Rozminąłem się z powołaniem, świece powinienem robić.). A, no i oczywiście znaczną rolę odegrała Morcheeba. Kawałek "Let Me See" konkretnie. Bardzo fajny. To jeden z niewielu gatunków muzyki od których Grepi nie ucieka.