2013-03-06 26 views
9

Tôi gặp sự cố trong repo debian của mình. Tôi đã gỡ bỏ một gói sai với:Reprepro thêm cùng một gói deb

reprepro -Vb . remove package 

Đây là ok, nhưng khi tôi cố gắng thêm một lần nữa cùng một gói với lệnh tiếp theo:

reprepro -Vb . includedeb squeeze package 

tôi có đầu ra tiếp theo:

Already existing files can only be included again, if they are the same, but: 
md5 expected: 1035762e5e21e6ad8689660c0032f42d, got: 77ea3b094fcbfca4110afb5a9af0d2cb 
sha1 expected: e41527e49bee98a59b3a5e16fbe856bb15a836bd, got: 5c6b673e5f11f1a80201e76d0fa4ba1d5935f095 
sha256 expected: ae795de3b2d62f513b634a00c4bec74c90d2a6f750e5ec0386ee2b7775af39ec, got: 1531b2dd1869214afe58bb526fa8bda70db1bd1ef73d133bde002d42f147a041 
size expected: 327748, got: 253398 
There have been errors! 

Bất cứ ai cũng biết cách khắc phục sự cố này? Tôi đã kiểm tra người đàn ông reprepro và tôi không tìm ra giải pháp để giải quyết tình huống này.

+0

Tôi không thể hiểu tại sao bạn không thể viết chữ hoa "I" có mức cao như vậy trong hệ điều hành phân biệt chữ hoa chữ thường. – peterh

Trả lời

12

Lệnh đầu tiên của bạn không nên hoạt động; remove yêu cầu tên mã của phân phối mà bạn muốn xóa gói đó.

Giả sử đây chỉ là một sai lầm và bạn đã "ép" lệnh xóa như bạn đã làm cho số includedeb, bạn có nhiều khả năng vẫn có cùng gói trong phân phối khác. Reprepro cố gắng thực thi lý tưởng debian của "các gói có cùng tên và cùng một phiên bản chính xác có cùng nội dung chính xác", không phân biệt chúng được phát hành lần đầu tiên.

Bạn có thể làm reprepro ls $package để xem nó có thể ở đâu nằm. Một khi bạn tìm thấy nó, điều phải làm sẽ là reprepro copy nó trở lại vào bóp từ nơi khác.

4

Nếu bạn đang hỗ trợ nhiều bản phân phối trong kho lưu trữ của mình, bạn sẽ cần xóa tham chiếu tệp khỏi tất cả các tệp đó trước khi bạn được phép includeeb với tệp mới.

Sau reprepro ls bạn có thể muốn sử dụng reprepro remove {dist} {pkg} một lần cho mỗi bản phân phối mà tệp được tham chiếu.

Khi tất cả các tham chiếu đã biến mất, bạn có thể includedeb hình ảnh mới.

1

Không đủ để thay đổi phiên bản trong tên gói, nó cũng phải được thay đổi trong tệp điều khiển (DEBIAN/control trong kho lưu trữ nhị phân và debian/control trong deb nguồn).

Bạn đã sửa đổi gói deb, vì vậy bạn phải cung cấp cho nó một phiên bản khác. Thông thường, bạn nên thay đổi dòng

Version: 1.2.3-something 

Để:

Version: 1.2.3-kioplays1 (...2, 3, etc) 

hoặc tương đương.

Nếu các phiên bản khác nhau, bạn sẽ có thể bao gồm các gói trong repo nhiều lần.

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