Skocz do zawartości

Budowanie Pakietów Rpm


urys

Rekomendowane odpowiedzi

  • Odpowiedzi 34
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Witka.

 

Jeśli chcesz zbudować pod konkretyn procek to zrób tak:

 

rpmbuild --rebuild --target=SYMBOL_PROCKA xyz.src.rpm

 

gdzie SYMBOL_PROCKA to np: Athlon, i686, i586 itp

 

a xyz to nazwa (_rpma_ → RPM-a) ORT ze zródłami.

 

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

rpmbuild --rebuild --target=SYMBOL_PROCKA xyz.src.rpm

Tak zbudowane paczki nie będą całkowice ztuningowane. Warto jeszcze sobie w ~/.rpmrc ustawić odpowiednie flagi kompilatora. Niektóre pliki spec nie biorą pod uwagę $RPM_OPT_FLAGS, więc powinno się jeszcze określić CFLAGS, CXXFLAGS i LDFLAGS.

http://www.dobremiasto.net/~hoppke/too_muc...pm/2_intro.html

Odnośnik do komentarza
Udostępnij na innych stronach

zrobiem tak jak mowiliscie i wyszlo tak:

[root@localhost SRPMS]# rpmrebuild --rebuild arts-1.3.1-0.1.src.rpm
bash: rpmrebuild: command not found
[root@localhost SRPMS]# rpmbuild --rebuild arts-1.3.1-0.1.src.rpm
Instalacja arts-1.3.1-0.1.src.rpm
ostrzeżenie: użytkownik than nie istnieje - użyto konta root
ostrzeżenie: grupa than nie istnieje - użyto grupy root
ostrzeżenie: użytkownik than nie istnieje - użyto konta root
ostrzeżenie: grupa than nie istnieje - użyto grupy root
ostrzeżenie: użytkownik than nie istnieje - użyto konta root
ostrzeżenie: grupa than nie istnieje - użyto grupy root
ostrzeżenie: użytkownik than nie istnieje - użyto konta root
ostrzeżenie: grupa than nie istnieje - użyto grupy root
ostrzeżenie: użytkownik than nie istnieje - użyto konta root
ostrzeżenie: grupa than nie istnieje - użyto grupy root
ostrzeżenie: użytkownik than nie istnieje - użyto konta root
ostrzeżenie: grupa than nie istnieje - użyto grupy root
ostrzeżenie: użytkownik than nie istnieje - użyto konta root
ostrzeżenie: grupa than nie istnieje - użyto grupy root
błąd: Niespełnione zależności budowania:
       alsa-lib-devel >= 1.0.2 jest wymagany przez arts-1.3.1-0.1
       qt-devel >= 1:3.3.3 jest wymagany przez arts-1.3.1-0.1
       audiofile-devel jest wymagany przez arts-1.3.1-0.1
       esound-devel jest wymagany przez arts-1.3.1-0.1

 

i co teraz instalowac te pakiety z rpm czy tez kompilowac??

 

a co z uzytkownikiem grupa than ??

Odnośnik do komentarza
Udostępnij na innych stronach

i co teraz instalowac te pakiety z rpm czy tez kompilowac??

Jak chcesz to też możesz przekompilować src.rpm. To zależy od Ciebie na ile chcesz mieć system dostosowany do Twojego sprzętu.

a co z uzytkownikiem grupa than ??

A tym to nie musisz się przejmować. Takie sobie ostrzeżenie i tyle :-)

 

Mała uwaga - nie kompiluj paczek na koncie roota! Przygotuj sobie swoje własne środowisko na koncie zwykłego użytkownika:

http://www.dobremiasto.net/~hoppke/too_muc...n/rpm/1_01.html

http://fedoranews.org/tchung/rpmbuild/

Odnośnik do komentarza
Udostępnij na innych stronach

Udalo mi sie skompolowac trzy pakiety

arts-1.3.1-0.1.src.rpm
qt-3.3.3-0.2.src.rpm
taglib-1.3-1.1.src.rpm

Pojawily mi sie piekne paczki :)

arts-1.3.1-0.1.athlon.rpm            qt-devel-3.3.3-0.2.athlon.rpm
arts-debuginfo-1.3.1-0.1.athlon.rpm  qt-MySQL-3.3.3-0.2.athlon.rpm
arts-devel-1.3.1-0.1.athlon.rpm      qt-ODBC-3.3.3-0.2.athlon.rpm
qt-3.3.3-0.2.athlon.rpm              qt-PostgreSQL-3.3.3-0.2.athlon.rpm
qt-config-3.3.3-0.2.athlon.rpm       taglib-1.3-1.1.athlon.rpm
qt-debuginfo-3.3.3-0.2.athlon.rpm    taglib-debuginfo-1.3-1.1.athlon.rpm
qt-designer-3.3.3-0.2.athlon.rpm     taglib-devel-1.3-1.1.athlon.rpm

juz sa zainstalowane :)

 

biore sie za kompilowanie kde* i w kazdym przypadku cos sie krzaczy czegos brakuje juz nia wim co mam doinstalowac

Na przyklad przy kdelib

......................................
ui/libkdeui.la ../kdesu/libkdesu.la ../kwallet/client/libkwalletclient.la -lz -lfam
/usr/bin/ld: cannot find -lselinux
collect2: ld returned 1 exit status
make[3]: *** [libkio.la] Error 1
make[3]: Leaving directory `/usr/src/redhat/BUILD/kdelibs-3.3.1/kio'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/redhat/BUILD/kdelibs-3.3.1/kio'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/redhat/BUILD/kdelibs-3.3.1'
make: *** [all] Error 2
błąd: Błędny status wyjścia z /var/tmp/rpm-tmp.74037 (%build)


Błędy budowania RPM-a:
   Błędny status wyjścia z /var/tmp/rpm-tmp.74037 (%build)

 

Prosze o pomoc bo juz nie wiem gdzie szukac bledu a juz nie mam sily, zjednej strony a z grugiej sie zawziolem ma ta kompilacje

Odnośnik do komentarza
Udostępnij na innych stronach

juz sa zainstalowane :)

Pakietów debuginfo nie instaluj. One są potrzebne tylko przy analizowaniu błędów w programach.

 

Jak chcesz, to wrzuć do ~/.rpmmacros

%debug_package %{nil}

i nie będą się budować :-)

/usr/bin/ld: cannot find -lselinux

Przeciez masz wyraźnie napisane, że brakuje libselinux-devel ;-)

make[3]: Leaving directory `/usr/src/redhat/BUILD/kdelibs-3.3.1/kio'

Już pisałem, żebyś nie budował paczek jako root...

Odnośnik do komentarza
Udostępnij na innych stronach

a jesli chodzi o konto to wystarczy zalozyc usera??

i sie na niego przelogowac??

Nie powiesz mi teraz, że cały czas siedzisz na roocie?

 

Tak, załóż sobie zwykłe konto, utwórz plik ~/.rpmmacros i dopisz odpowiednie ustawienia. Ja mam mniej więcej tak:

%_topdir /home/y4kk0/rpm
%_tmppath /home/y4kk0/rpm/tmp
%packager gajownik
%vendor Replikatorzy szarej rzeczywistości

%_arch athlon
%_build_arch athlon
#%_host i686-pc-linux-gnu
%_host i686-redhat-linux-gnu
%_build_arch athlon
%_host_cpu athlon

%debug_package %{nil}

Oczywiście musisz stworzyć odpowienią strukturę katalogów jak w /usr/src/redhat (wystarczy to przekopiować). Zresztą przejrzyj te linki co Ci dałem powyżej :-)

Odnośnik do komentarza
Udostępnij na innych stronach

czemu nie mona kompilowa z komta roota??

Jeśli nie ma potrzeby robienia czegoś na koncie roota, to się tego nie robi. Zapoznaj się z tym:

http://skawina.eu.org/linux/root101.html

http://apcoln.linuxpl.org/pokaz_artykul.php?artid=7 (końcówka, a szczególnie ostani cytat ^_^ ).

 

Np. robiłem sobie kiedyś swój własny plik spec. Prze głupią literówke usunąłbym sobie pół systemu. Na szczęście robiłem wszystko na zwykłym koncie, więc dostałem tylko informacje o braku dostępu :-)

 

Robienie wszystkiego na koncie superużytkownika jest głupim przyzwyczajeniem z Windows i należy się tego wyzbyć. Gdyby programiści MS nie szli tak na rękę użytkownikom i standardowo założone konto w Win nie miało uprawnień administratora, to nie było by tyle wirusów. No cóż, jak się idzie na prostotę, to potem ma się takie efekty...

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

×
×
  • Dodaj nową pozycję...