/ / Budowanie pakietów Linux dla wielu dystrybucji i wersji - linux, build-process, build, cross-platform, packaging

Budowanie pakietów Linux dla wielu dystrybucji i wersji - linux, build-process, build, cross-platform, packaging

Moja firma ma oprogramowanie, które zostało napisanew C dla platformy Linux, zbudowanej z autotools i dystrybuowanej przez pakiety binarne. Aby utworzyć pliki binarne, najpierw przygotowujemy RPM źródła, a następnie kompilujemy źródło z SRPM.

Obecnie udostępniamy tylko pakiety RPM dla 64-bitówFedora 10, ale chcemy zacząć dostarczać pakiety dla wielu dystrybucji Linuksa - zarówno 32-bitowych, jak i 64-bitowych - oraz ewentualnie różnych wersji każdej dystrybucji (na przykład Fedora 11 i Fedora 10).

"Słyszałem, że to najlepszy sposób na produkcję buildówdla wielu smaków Linuksa jest posiadanie pojedynczego serwera kompilacji i używanie innego chrootowanego środowiska dla każdego zestawu pakietów, które chcesz zbudować. Czy ktoś ma dobry zasób, który wyjaśnia to bardziej szczegółowo, może z przykładami dobrze znanych projektów, które używają tego mechanizmu budowania, lub mają lepszą alternatywę do osiągnięcia tego samego celu?

Odpowiedzi:

2 dla odpowiedzi № 1

Może warto zacząć od następujących projektów:

Usługa Novell Build

Fedora Koji


1 dla odpowiedzi nr 2

Możesz użyć appcheckera LSB do przetestowania kompatybilności skryptu application / dynlib / shell: http://ldn.linuxfoundation.org/lsb/check-your-app. Następnie możesz użyć RPM dla wszystkich dystrybucji RPM i użyć alien dla wszystkich dystrybucji apt-get i tar.gz dla innych


1 dla odpowiedzi nr 3

Narzędzia takie jak checkinstall pomoże ci w produkcji opakowań dla różnychdistros. Osobiście, jeśli chcesz zintegrować się z istniejącymi systemami zarządzania pakietami, będziesz również chciał hostować wiele repozytoriów na swoich serwerach i dostarczać pakiety tam, a następnie mieć użytkowników, którzy skonfigurują menedżerów pakietów, aby wyciągnęli aplikacje z serwerów.


0 dla odpowiedzi nr 4

W zależności od tego, co dokładnie robi twoje oprogramowanie iktóre to zależności ma (jeśli w ogóle) ma na lokalnych bibliotekach, możesz być w stanie zbudować swoje oprogramowanie przy użyciu starszej dystrybucji glibc i działać w wielu różnych dystrybucjach. Oto, co robimy InstallBuilder. Jeśli nie masz zależności od konkretnejpakietów, możliwe jest również tworzenie pakietów RPM lub DEB, które będą działać na większości dystrybucji Linuksa opartych na RPM lub DEB. Cross-Linux rozwoju, w każdym razie nie jest to łatwe :) Powodzenia!


0 dla odpowiedzi № 5

Jest to jeden z przypadków objętych przez Bob Aiello w Ten artykuł na agentach budujących. My mieć kilku klientów, którzy używają tego podejścia do budowania na kilku platformach jednocześnie.