Câu hỏi Thay đổi biến môi trường trong debian / rules theo mục tiêu debian / control


Tôi có gói này mypackage đã được đóng gói cho Ubuntu. Để thiết lập trình biên dịch, debian/rules chứa đựng

DEB_CONFIGURE_SCRIPT_ENV += CC=gcc

Bây giờ tôi muốn mở rộng gói trong đó tôi muốn thêm các mục tiêu khác vào debian/control, cụ thể là libmypackage-openmpi, libmypackage-mpich2 và kể từ đó trở đi. Điều duy nhất mà về mặt lý thuyết sẽ cần thay đổi debian/rules là dòng trình biên dịch ở trên;

DEB_CONFIGURE_SCRIPT_ENV += CC=mpicc

Có cách nào trong debian/rules đến if- -else giữa các mục tiêu xây dựng và thiết lập DEB_CONFIGURE_SCRIPT_ENV  tự động?

Nếu không, cách thích hợp để giải quyết vấn đề này là gì?


5
2018-01-23 17:23


gốc


Nó sẽ hữu ích nếu bạn có thể nói đó là gói gì. Cách tốt nhất để làm điều đó thay đổi theo gói. Bạn cũng có thể xem các gói hiện có trong kho lưu trữ thực hiện việc này: hdf5, yorick, netpipe. Tất cả họ đều có một phong cách thủ công khá cũ, làm mọi thứ một cách rõ ràng. - tumbleweed
Cảm ơn gợi ý. Tôi nhận được vào các chi tiết của debhelper so với cdbs vs dh ngay bây giờ, và có vẻ như thực sự rằng cdbs sẽ không nhận được tôi rất xa ở đây. - Nico Schlömer
@ NicoSchlömer, Bạn có thể cập nhật bài đăng này? - user.dz
@ user.dz Cập nhật để làm những gì chính xác? - Nico Schlömer
@ NicoSchlömer, tôi nghĩ rằng bạn đã có một giải pháp làm việc từ những gói được đề cập bởi tumbleweed. - user.dz


Các câu trả lời:


  • Thông thường debian/rules tệp chỉ chạy 1 chu kỳ.
  • Trường hợp của bạn dường như yêu cầu các chu kỳ bổ sung (có vẻ như 3), ở đây hướng dẫn chính thức với ví dụ cho 2 chu kỳ xây dựng.

    Debian Wiki: PkgSplit

  • Bạn có thể kiểm tra các ví dụ thực tế hơn (như đã đề cập bởi tumbleweed):

    apt-cache search --names-only ".*-mpi"
    

    hoặc là .*-openmpi, sau đó apt source ...


2
2018-04-24 12:14