Cách sử dụng 'apt' để lấy mã nguồn và sau đó thực hiện biên dịch riêng


26

Tôi muốn lấy mã nguồn cho một dự án và sau đó xây dựng nó theo cách tương tự như apt. Ví dụ: tôi muốn mã nguồn hoạt động và có thể chạy lệnh 'make' hoặc tương tự trên nguồn.

Làm thế nào tôi có thể làm điều đó?

Cụ thể tôi muốn lấy nguồn này 'icedtea-6-jre-jamvm'

Câu trả lời:


28

Trong ví dụ này tôi sẽ sử dụng icedtea-6-jre-jamvmlàm gói bạn muốn xây dựng lại.

Đầu tiên cài đặt tất cả các phụ thuộc và xây dựng thiết yếu:

sudo apt-get build-dep icedtea-6-jre-jamvm
sudo apt-get install build-essential

Sau đó lấy nguồn:

apt-get source icedtea-6-jre-jamvm

Sau đó, cd trong thư mục thư mục openjdk và xây dựng deb, -us và -uc ở đây bỏ qua kiểm tra GPG nếu bạn chỉ tự xây dựng lại nó:

cd openjdk-6-6b24-1.11.5
dpkg-buildpackage -us -uc

Sau đó đi lên một thư mục và bạn sẽ có tệp .deb.

Nguồn:


thật tuyệt! một trở ngại lớn để bắt đầu đóng góp cho một chương trình phần mềm miễn phí là "làm cho nó được biên dịch", và thật tuyệt khi thấy điều này tự động. Tuy nhiên, sẽ thật gọn gàng nếu chúng ta có thể tạo các nhị phân và dừng ở đó (nghĩa là không tạo ra các cuộc tranh luận) vì điều này thuận tiện hơn một chút cho các nhà phát triển đang chỉnh sửa và biên dịch thường xuyên ... Bạn có biết cách để làm không cái đó?
josinalvo

7

để chỉ biên dịch gói sử dụng tập lệnh debian / quy tắc được cung cấp trong mỗi gói gỡ lỗi:

sudo apt-get build-dep <package>
apt-get source <package>
cd <package>_<version>
./debian/rules binary

Điều này chỉ cần cấu hình và phần biên dịch.


4

Bạn có thể sử dụng follwing:

apt-get source <package>

bạn cần chắc chắn rằng bạn đã cài đặt các phụ thuộc của bản dựng:

sudo apt-get build-dep <package> 

để biết thêm thông tin chạy:

man apt-get

Tùy chọn thay thế: Đầu tiên bạn cần biết vị trí của gói. sau đó tải xuống tệp tar bằng cách sử dụng:

sudo wget <url>

Sau đó, bạn có thể gỡ bỏ nó và biên dịch nó bằng cách sử dụng make

Nếu bạn không chắc chắn về lệnh cụ thể nhìn vào bên trong thư mục, cần có một READMEtệp hoặc INSTALLsẽ cho bạn biết lệnh thích hợp.


Đó là nhận được từ các trang web lưu trữ. Có cách nào để làm điều đó với 'apt. Hoàn toàn thông qua 'apt' trừ đi biên dịch thực tế. Ví dụ: tôi có thể 'apt get source' và sau đó điều hướng đến thư mục đó và sau đó 'make'.
Berlin Brown

Xin lỗi, chỉ cần cập nhật câu hỏi!
meda
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.