1

Temat: Makefile paczki

Wiecie może jak powinien wyglądać makefile dla paczki w przypadku kiedy trzeba przekopiować pliki do paczki a następnie po jej zainstalowaniu przekopiować zawartość paczki do określonego miejsca?

Tzn. W makefile Zabbixa brakuje frontendu, pracuje nad tym lecz nie mogę nigdzie znaleźć podobnego przykładu jak podczas kompilacji skopiować pliki z (Pobrane archiwum)/frontend/php do paczki, a następnie po jej zainstalowaniu zawartość paczki została przekopiowana do katalogu /www/zabbix. Próbowałem kombinować według opisu na openwrt.org, ale chyba nie do końca rozumie co robią poszczególne instrukcje. Może trzeba napisać jakiś skrypt w Bashu?

2

Odp: Makefile paczki

Tak, potrzebujesz skrypt w postinstall który zrobić coś jeszcze po instalacji paczki. Przykład postinst w https://github.com/obsy/packages/blob/m … kefile#L69

Tylko dlaczego chcesz tak robić na około - umieść w paczce pliki tam gdzie trzeba od razu zamiast kopiować do /frontend/php do paczki w później to przenosić do /www/zabbix. Chyba że to jakiś wyższy cel ma.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Makefile paczki

Makefile pobiera archiwum Zabbixa w nim jest src z którego budowany jest serwer,proxy,agent etc.
Obok src jest folder frontend a w nim php którego zawartość chce przekopiować do paczki, możesz podać jakiś przykład na kopiowanie danych?

Natomiast kompilator usilnie chce przekopiować folder php ale z ipkg które jest rezultatem kompilacji. A w tym folderze nie ma takiego folderu

(Kod źródłowy Zabbixa)/frontend/php to chce przekopiować do paczki
Kompilator chce przekopiować rezultat kompilacji (Kod źródłowy Zabbixa)/src/

4

Odp: Makefile paczki

Jak "kompilator chce przekopiować". Przecież ty robisz sekcję install i decydujesz co i gdzie ma być, nie jakiś kompilator.
Dostałeś linka w poprzednim poście. Tam też jest kopiowanie zwykłych plików.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5 (edytowany przez Rixer 2018-08-22 19:39:42)

Odp: Makefile paczki

Zgadza się, tylko w takim wypadku kopiowanie odbywa się z miejsca gdzie jest makefile a nie z miejsca gdzie jest pobrana paczka ze źródłem.  Nie za bardzo wiem jak się odwołać do pobranego źródła.

Tzn. kompilator pobiera sobie źródło i potrzebuje z niego skopiować zawartość folderu frontend/php.

6

Odp: Makefile paczki

Nie rozumiem o czym piszesz. Podaj jakiś przykład.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7 (edytowany przez Rixer 2018-08-22 20:01:57)

Odp: Makefile paczki

Czy define Package/example/install odpowiada za tworzenie paczek?
Bo rozumie że define Package/example/postinst odpowiada za to co ma się stać po jej zainstalowaniu?

Nie wiem jak skopiować pliki z build_dir/target*/zabbix*/frontend/php  , bo każda moja próba kończy się tym że kompilator chce kopiować pliki z build_dir/target*/zabbix*/ipkg_install

define Package/zabbix-server-frontend/install
        $(INSTALL_DATA) $(1)/www/zabbix
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/frontend/php $(1)/www/zabbix
endef

PKG_BUILD_DIR odwołuje się do wyniku kompilacji źródeł. Jak odwołać się do miejsca gdzie znajdują się pobrane źródła?

8

Odp: Makefile paczki

Tak/tak

$(INSTALL_DIR) $(1)/www/zabbix
$(INSTALL_DATA) $(PKG_BUILD_DIR)/frontend/php $(1)/www/zabbix

Tworzysz katalog przez $install_dir, kopiujesz dane później.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.