2013-03-06 15 views
9

Mam problem w repozytorium debiana. Usunąłem zły pakiet z:Reprepro dodaje ten sam pakiet deb

reprepro -Vb . remove package 

to było ok, ale kiedy próbowałem dodać ponownie ten sam pakiet z następnego polecenia:

reprepro -Vb . includedeb squeeze package 

mam następnego wyjścia:

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! 

Ktoś wie, jak mogę to naprawić? Sprawdzałem przedstawiciela firmy i nie znalazłem rozwiązania, które rozwiązałoby tę sytuację.

+0

Nie mogę zrozumieć, dlaczego nie można pisać wielkimi literami "I" o tak wysokim poziomie w systemie operacyjnym wrażliwym na wielkość liter. – peterh

Odpowiedz

12

Twoje pierwsze polecenie nie powinno zadziałało; remove wymaga nazwy kodowej dystrybucji, z której chcesz usunąć ten pakiet.

Zakładając, że to była tylko błędna pasta, i że dałeś "wycisnąć" do polecenia remove tak, jak zrobiłeś to dla includedeb, najprawdopodobniej nadal masz ten sam pakiet w innej dystrybucji. Reprepro próbuje wymusić debiutancki ideał "pakietów o tej samej nazwie i dokładnie tej samej wersji mają dokładnie tę samą zawartość", bez względu na to, w której dystrybucji zostały one po raz pierwszy wydane.

Możesz zrobić reprepro ls $package, aby zobaczyć, gdzie może jeszcze być usytuowany. Gdy już to zrobisz, właściwą rzeczą będzie reprepro copy z powrotem do wyciśnięcia z innego miejsca.

4

Jeśli obsługujesz wiele dystrybucji w swoim archiwum, będziesz musiał usunąć odniesienie do pliku z każdego z nich, zanim będziesz mógł dołączyć do nowego pliku.

Po reprepro ls możesz użyć reprepro remove {dist} {pkg} raz dla każdej dystrybucji, do której odwołuje się plik.

Po usunięciu wszystkich odniesień, możesz includedeb nowy.

1

Nie wystarczy zmienić wersję w nazwie pakietu, należy również zmienić w pliku kontrolnym (DEBIAN/control w archiwum binarnym i debian/control w źródłowym deb).

Zmodyfikowałeś pakiet deb, więc musisz nadać mu inną wersję. Zazwyczaj należy zmienić linię

Version: 1.2.3-something 

Do:

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

lub podobnym.

Jeśli wersje różnią się, będzie można wielokrotnie dołączać paczki do repozytorium.

Powiązane problemy