Ubuntu: Họ đang làm gì với các nguồn vani?


12

Đúng nếu tôi đã sai lầm

Theo như tôi biết các bản phân phối như Debian / Ubuntu / Fedora thường sửa đổi mã nguồn vanilla trước khi tạo gói. Lý do đằng sau những thay đổi này là gì? Có một vấn đề với nguồn ban đầu? Làm cách nào tôi có thể nhận được danh sách các thay đổi và lý do cho những thay đổi được thực hiện cho một gói cụ thể?

Cảm ơn đã giúp đỡ!

Câu trả lời:


18
apt-get source package

Sẽ giúp bạn có hai hoặc ba tệp: tarball "gốc" (đôi khi được sửa đổi, nhưng hiếm khi ... thay đổi duy nhất thường là tên tệp) - có tên * .orig.tar.gz, debian thay đổi ở dạng * .diff tập tin .gz và một số siêu dữ liệu. Đôi khi thiếu tệp .diff.gz: điều này có nghĩa là gói đó chỉ được xây dựng cho debian / ubfox, để xử lý một số công việc phân phối rất cụ thể ... giống như dakquản lý tải lên kho lưu trữ debian. Sau đó, tất cả các mã là trong tarball ban đầu.

Lý do là nhiều: sửa lỗi cho phần mềm (khi ngược dòng không muốn), phần mềm thích ứng với debian (điều chỉnh đường dẫn tệp). Debian muốn tất cả các gói tuân thủ Tiêu chuẩn phân cấp tệp của hệ thống và đây là một điều chỉnh rất phổ biến.

Tarball ban đầu đôi khi không giống như ngược dòng được tạo ra do các vấn đề về bao bì. Tôi nhớ đã thấy một chương trình được phân phối trong một số tarball, trong khi chúng chỉ tạo ra một chương trình thực thi - người bảo trì debian đã quyết định tạo ra tarball "nguyên bản" của riêng mình bao gồm các tarball ngược dòng. Lý do khác là khi đôi khi người bảo trì debian quyết định thêm một số tệp nhị phân vào gói. Rất khó để đặt nhị phân vào bên trong tệp .diff.gz, vì vậy tarball ban đầu được sửa đổi (và điều này thường được mô tả rõ ràng trong tài liệu cho gói).

Đôi khi (rất hiếm khi) việc cấp phép là vấn đề. Nó xảy ra rằng thượng nguồn không hiểu hoặc muốn hiểu hàm ý do một số giấy phép. Debian muốn giải quyết tất cả các vấn đề cấp phép, do đó, các bản vá lỗi sẽ thực hiện một số điều cụ thể hoặc tarball ban đầu bị tước khỏi các tệp phân tán bất hợp pháp.

Nó cũng xảy ra rằng một số nội dung được cấp phép để bạn có thể sử dụng nó nhưng không phân phối. Thông thường (ví dụ msttcorefonts, flashplugin-nonfree) gói debian chỉ là một loại trình cài đặt cho gói và không có nội dung gốc nào bên trong gói.

pinegói cũng thú vị, vì giấy phép cấm phân phối các biểu mẫu đã biên dịch. Do đó không có pinegói nhị phân, nhưng có pinegói nguồn. Bạn có thể tải xuống bằng lệnh trên và biên dịch thành gói debian cho chính mình.


Pine hiện đang được phát triển như là núi cao để có được xung quanh vấn đề cấp phép ban đầu - washington.edu/pine
theotherreceive

Vẫn là pinegói bên trong kho lưu trữ. Nhưng tốt, đây là cách vấn đề cấp phép làm cho mọi thứ khó khăn hơn.
liori

2

Những lý do có thể nhiều như nhiều người bảo trì và gói. Tôi đoán thường là họ sửa đổi phần mềm để nó tích hợp tốt hơn với các phần mềm khác trong bản phân phối hoặc để thêm các tính năng không có trong phiên bản "chính thức".

bạn có thể lấy các nguồn (và các khác biệt cụ thể của Ubuntu) bằng cách gõ sudo apt-get source PACKAGENAMEvào dòng lệnh. Nó sẽ tải các nguồn vanilla và các khác biệt của gói vào thư mục hiện tại. Họ cũng thường bao gồm một số ý kiến ​​trong nguồn.


1

Nghĩ theo cách này. Nếu bạn đã cài đặt chương trình từ tarball nguồn ban đầu thông qua ./configure; make; make install, bạn vẫn còn một số việc phải làm. Bạn phải tạo các mục menu, bạn phải thiết lập các tập tin cấu hình, và như vậy. Bạn có thể phải cung cấp cho ./configuremột --prefix. Những thay đổi của người bảo trì phân phối thường không có gì khác hơn là tự động hóa các nhiệm vụ trần tục này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.