Làm thế nào để giải quyết vấn đề nguồn dpkg khi xây dựng một gói?


16

Có ai ở đây đã có một số kinh nghiệm khi tạo gói Debian / Ubuntu không? Tôi đang cố gắng nhập lại gói lammps ( http://packages.ubfox.com/quantal/lammps ) từ Ubuntu 12.10 (Định lượng) sang Ubuntu 12.04

Tôi chỉ cần nó một cách không chính thức - chỉ cần một gói .deb để thuận tiện khi tạo hình ảnh máy ảo tùy chỉnh để triển khai lên nền tảng IaaS.

Theo Hướng dẫn đóng gói Ubuntu tại https://wiki.ubfox.com/PackagingGuide , tôi có thể xây dựng thành công, ngoại trừ khi tôi cố gắng xây dựng lại bằng lệnh debuild , tôi thường gặp lỗi này:

 dpkg-source: error: aborting due to unexpected upstream changes, see
 /tmp/lammps_0~20120615.gite442279-1.diff.aie32n dpkg-source: info: you
 can integrate the local changes with dpkg-source --commit
 dpkg-buildpackage: error: dpkg-source --include-binaries -i -b
 lammps-0~20120615.gite442279 gave error exit status 2

Chạy 'make clean-all' trong thư mục src vẫn không giải quyết được vấn đề. Có cách nào để dọn sạch hoàn toàn tất cả các tệp được tạo trong quá trình xây dựng hoặc yêu cầu gỡ lỗi để bỏ qua bất kỳ sự khác biệt nào trong các tệp nguồn không?

Câu trả lời:


6

Điều này có nghĩa là bạn đã áp dụng các thay đổi đối với nguồn ngược dòng được giải nén không phải là một phần của một bản vá trong debian/patches/thư mục hoặc được liệt kê trong seriestệp trong đó nếu có; và / hoặc có một số điểm không nhất quán trong trạng thái áp dụng các miếng vá.

Nhìn vào tệp được đề cập trong / tmp sẽ cho bạn thấy những thay đổi trong câu hỏi.


Cảm ơn bạn rất nhiều vì câu trả lời nhanh! Có cách nào nhanh chóng để khôi phục các thay đổi được thực hiện bằng 'make' thay vì hoàn tác tất cả các bản ghi thay đổi trong tệp / tmp / * diff * không?
hanxue

29

Tránh sự quan liêu của Debian bằng cách chỉ xây dựng nhị phân: dpkg-buildpackage -b


1
Điều này không hữu ích nếu bạn có ý định tải lên debian.
jeremiah

4
@jeremiah nhưng rất hữu ích nếu bạn điều chỉnh gói debian để sử dụng cá nhân.
Wyatt8740

10

thay đổi định dạng trong debian / source / format từ 3.0 (quilt) thành 3.0 (bản địa) nếu bạn không muốn sử dụng quilt. Điều này giải quyết vấn đề cho tôi nào.


ĐIỀU NÀY! Chăn là không thể.
Jay _silly_evarlast_ Wren

1
Tôi ngây thơ theo dõi bình luận này. Hiệu ứng ròng sẽ là bản dựng của bạn sẽ không còn sử dụng các bản vá trong debian / patch. Bạn có thể vui lòng mở rộng câu trả lời bằng cách giải thích cách bạn thêm phép thuật cần thiết vào debian / quy tắc để thực sự áp dụng các bản vá?
Thomas Vander Stichele


1

Tôi đã thấy vấn đề này khi quilt nghĩ sai rằng tôi đã áp dụng các bản vá cho bản sao làm việc của mình (bạn có thể tìm thấy trạng thái hiện tại của nó trong thư mục .pc). Cách khắc phục trong trường hợp đó là buộc quilt bật tất cả các bản vá với quilt pop -a -f.


0

Điều này có thể xảy ra nếu bạn đã thực hiện tất cả các "thủ tục giấy tờ" của Debian nhưng tình cờ có các tạo tác còn sót lại từ các lần thử trước. Cụ thể, các thay đổi được tạo tự động đối với các cấu hình, cấu hình, dịch vụ cấu hình, chế độ tự động, chế độ, cấu hình, dịch vụ.

Bạn có thể đặt cái này trong debian / source / tùy chọn:

# Don't store changes on autogenerated files
extend-diff-ignore = "(^|/)(config\.sub|config\.guess|Makefile)$"

Tham chiếu: https://raphaelhertzog.com/2011/01/11/3-ways-to-not-clutter-your-debian-source-package-with-autogenerated-files/

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.