lmms.spec

Bartosz Świątek shadzik w gmail.com
Śro, 19 Sie 2009, 00:18:46 CEST


W dniu 18 sierpnia 2009 23:38 użytkownik Krzysztof Goliński
<krzysztof.golinski w gmail.com> napisał:
> Witam,

Witaj,

>
> Popełniłem speca (w załączniku) dla Linux MultiMedia Studio. Jestem
> początkujący, dlatego proszę o jakieś uwagi, jeśli zrobiłem coś  nie
> tak.

Ojj, aż ciężko wybrać od czego zacząć...

> Mam również 3 pytania:
>
> * Nie wiem gdzie wrzucić plik z informacjami dla X-owych menu. Jego
> zawartość poniżej:
> ?package(lmms):needs="X11" section="Apps/Sound" \
>  title="LMMS" hints="Audio" command="/usr/bin/lmms" \
>  longtitle="Linux MultiMedia Studio" \
>  icon="/usr/share/lmms/themes/default/icon.png"
> Twórcy programu zaproponowali:
> /usr/share/menu/lmms
> ale u mnie taki katalog ("menu") nie istnieje. Poza tym to chyba nie
> jest dobre miejsce?

Tu Ci nie pomogę bo nie wiem i nie znam programu.

> * Z niejasnych powodów nie mogę poradzić sobie ze sprawdzaniem md5 dla
> wskazanego źródła. Gdy stosuję wpis:
> # Source0-md5 <tutaj md5>
> Za każdym razem builder ściąga nowe źródła i mówi, że md5 jest
> niepoprawne - wyliczyłem je poleceniem md5sum. Przyglądałem się kilku
> specom ale nie zauważyłem błędu. Może ktoś mnie oświeci, co robię źle?

Tu by Ci pomógł skrypt adapter dostępny w cvsie pod
packages/{adapter,adapter.awk}. Ustawi to i owo ale nie należy
przesadzać bo czasami też potrafi popsuć.

> * Program lmms po uruchomieniu narzeka, że nie widzi bibliotek
> dzielonych mimo, że wrzuciłem je do /usr/lib/lmms i wykonałem w %post
> ldconfig.

To jest źle, biblioteki powinny być w %{_libdir} tam się ich program
spodziewa z pewnością. Jeśli mają być gdzie indziej to trzeba dodać
konfigurację do /etc/ld.conf.d/

A teraz tak do speca parę rzeczy, które zauważyłem.

%bcond_with	j2	#  use all procesors to make program when smp
^^^^ to jest złe i tak tego nie robimy, ja mam np. 16 procesorów i ten
bcond nie jest dla mnie prawdziwy...
Lepiej jeśli lokalnie sobie zdefiniujesz makro w ~/.rpmmacros
%__make	/usr/bin/make -j20 np. a w specu zostawiasz standardowo bez żadnych -jX.

BuildRequires:	alsa-lib
^^^ zbędne.

Requires:	libogg
Requires:	libsndfile
Requires:	fftw3
Requires:	libsamplerate
Requires:	libvorbis
Requires:	SDL
^^^ pewnie wszystkie są zbędne.

%build
%{__cmake} \
	 -DCMAKE_INSTALL_PREFIX=$RPM_BUILD_ROOT/usr
^^^^

To jest niestety całkowicie źle. Zobacz sobie jakiegoś speca z KDE4,
tam są przykłady jak poprawnie bawimy się z cmake np.
template-kde4.spec z drzewka templates.

Z %files zadałeś sobie strasznie dużo trudu, za dużo. I dla przykładu
plików .cpp/.c i innych źródeł nie paczkujemy. Spójrz na pliki
template -> tam znajdziesz poprawne przykłady.

Pozdrawiam,


-- 
"I'm living proof if you do one thing right in your career, you can
coast for a long time. A LOOOOONG time." -Guy Kawasaki


Więcej informacji o liście dyskusyjnej pld-devel-pl