2009-05-12 33 views
8

Công ty của tôi có một sản phẩm phần mềm được viết bằng C cho nền tảng Linux, được xây dựng với các autotools và phân phối thông qua các gói nhị phân. Để tạo các tệp nhị phân, trước tiên chúng tôi tạo RPM nguồn và sau đó biên dịch nguồn từ SRPM.Xây dựng các gói Linux cho nhiều bản phân phối và phiên bản

Hiện tại chúng tôi chỉ cung cấp gói RPM cho Fedora 10 64 bit, nhưng chúng tôi muốn bắt đầu cung cấp gói cho nhiều bản phân phối Linux - 32 bit cũng như 64 bit - và các phiên bản khác nhau của mỗi phân phối. Fedora 11 cũng như Fedora 10).

Tôi đã nghe rằng cách tốt nhất để tạo bản dựng cho nhiều hương vị Linux là có một máy chủ dựng và sử dụng môi trường chroot khác nhau cho mỗi bộ gói mà bạn muốn xây dựng. Có ai có tài nguyên tốt giải thích điều này chi tiết hơn không, có thể với các ví dụ về các dự án nổi tiếng sử dụng cơ chế xây dựng này, hoặc có một giải pháp thay thế tốt hơn để đạt được cùng một mục tiêu?

Trả lời

1

Bạn có thể sử dụng LSB appchecker để kiểm tra ứng dụng/dynlib/shell script khả năng tương thích của bạn: http://ldn.linuxfoundation.org/lsb/check-your-app. Sau đó, bạn có thể sử dụng RPM cho tất cả phân phối RPM và sử dụng ngoại lệ cho tất cả các bản phân phối apt-get và tar.gz cho các khác

+1

Trong khi bộ kiểm tra hiển thị thông tin có giá trị về tính tương thích, nó không xây dựng các gói có thông số phụ thuộc cụ thể theo phân phối. –

1

Công cụ như checkinstall sẽ giúp bạn tạo gói cho các bản phân phối khác nhau. Cá nhân, nếu bạn muốn tích hợp với các hệ thống quản lý gói hiện có, bạn cũng sẽ muốn lưu trữ nhiều kho lưu trữ trên máy chủ của mình và cung cấp gói ở đó, sau đó yêu cầu người dùng định cấu hình trình quản lý gói của họ để kéo ứng dụng ra khỏi máy chủ của bạn.

0

Tùy thuộc vào phần mềm của bạn chính xác và phụ thuộc vào phần mềm nào, bạn có thể xây dựng phần mềm bằng cách sử dụng phân phối glibc cũ hơn và nó hoạt động trong nhiều bản phân phối khác nhau. Đây là những gì chúng tôi làm với InstallBuilder. Nếu bạn không có phụ thuộc vào các gói cụ thể, bạn cũng có thể tạo các gói RPM hoặc DEB sẽ chạy trên hầu hết các bản phân phối Linux dựa trên RPM hoặc DEB. Cross-Linux phát triển, trong mọi trường hợp, nó không phải là dễ dàng :) Chúc may mắn!

0

Đây là một trong những trường hợp được Bob Aiello chi trả trong this article đối với tác nhân tạo dựng. We có một số khách hàng sử dụng phương pháp này để xây dựng trên một số nền tảng song song.

+0

Cảm ơn - cơ sở hạ tầng xây dựng của chúng tôi trên Amazon EC2 nên sử dụng tác nhân xây dựng là khả năng, nhưng tôi muốn giữ mọi thứ trên một máy chủ xây dựng nếu có thể để bảo trì (ví dụ, nếu chúng tôi nâng cấp phiên bản của một số gói phụ thuộc, Tôi không muốn phải cập nhật nhiều hình ảnh máy Amazon). –

Các vấn đề liên quan