Jak zachować zawartość BuildRoot?

11

Stare dobre rpm podczas budowania pakietu krokami po prostu zachowywało zawartość BuildRoot - było to dla mnie bardzo przydatne, ponieważ jeśli jakieś oprogramowanie było trudne do utworzenia, mogłem sprawdzić BuildRoot, czy wszystko jest w porządku.

Teraz, przy wszystkich „ulepszonych” obrotach na minutę - zawartość BuildRoot jest automatycznie usuwana, więc tak naprawdę nie mogę się w nią zanurzyć (krok instalacji nie jest tak długi).

Jeden hack, o którym wiem, to dodanie jakiegoś snu na końcu instalacji do specyfikacji rpm. Ale to jest brzydkie.

Więc - PYTANIE - jak ładnie zachować zawartość BuildRoot - innymi słowy, jak raz na zawsze wyłączyć automatyczne usuwanie?

Greenoldman
źródło

Odpowiedzi:

6

Czy próbowałeś używać rpmbuild -biw testach, aby uzyskać wszystko zbudowane przez %installfazę? To powinno pokazać ci, co się dzieje bez automatycznego czyszczenia później.

Następnie, gdy będziesz zadowolony, buduj jak zwykle.

mattdm
źródło
Dziękuję Ci. Jest to najmniej inwazyjne podejście i działa.
greenoldman
7

Poprostu dodaj

    %define __spec_install_pre /bin/true

na górze .specpliku

domusofsail
źródło
1
Działa dla mnie w RHEL / CentOS 7.
Jak
Działa to w Fedorze 27.
Máté Wierdl
3

Spróbuj dodać manekina %cleando pliku specyfikacji. Coś jak:

%clean
echo NOOP
iFred
źródło
nie działa, ponieważ BUILDROOT jest usuwany na początku% install - jest częścią inicjalizacji% install.
smcg
Jeśli celem jest zachowanie wersji buildroot po kompilacji, do sprawdzenia, to działa.
ederag
0

To jest irytujące, zgadzam się. Jeśli nie masz nic przeciwko modyfikowaniu swojego rpm, sugeruję pójście do źródła rpm i dowiedzieć się, gdzie usunięto BuildRoot, wyłącz tę linię (prawdopodobnie jest to tylko jedna linia) i ponownie skompiluj. Inną rzeczą, którą zasugerowałbym, jest zgłoszenie błędu na liście życzeń, aby przywrócić stare zachowanie, które moim zdaniem można skonfigurować.

Pytanie: w jakiej wersji RPM to zachowanie się zmieniło?

Faheem Mitha
źródło
Nie wiem o wersji, ale zmiana oficjalnych rpm byłaby trudna: lists.rpm.org/pipermail/rpm-list/2008-December/000040.html Wyjaśnienie wskazuje, że idelogia odgrywa ogromną rolę. Możliwe byłoby łatanie rpm, dziękuję za podpowiedź. Może mógłbym również przywrócić automatyczne tworzenie BuildRoot.
greenoldman
@macias: Przejrzałem źródła rpm na Debianie (4.9.0-2), ale nie znalazłem nic przydatnego. Jednak nawet jeśli programiści nie są skłonni go zmienić, spodziewam się, że chętnie powiedzą ci, jak to zrobić dla siebie.
Faheem Mitha
na szczęście przełącznik -bi działa w tym przypadku, więc jeśli mogę, pomijam łatanie - lista programów z regresjami i tak się wydłuża.
greenoldman