[New Spec] geany-plugins

Jan Rękorajski baggins at pld-linux.org
Wed Feb 19 08:54:03 CET 2020


On Tue, 18 Feb 2020, Krzysztof Mrozowicz wrote:

> Dzień dobry!
> W załączniku przesyłam spec-a do pakietu geany-plugins, wersja 1.36.
> Jest to mój pierwszy spec napisany od początku, dlatego chciałbym prosić kogoś doświadczonego o sprawdzenie go. Wszelka konstruktywna krytyka bardzo mile widziana.
> W osobnym poście wysłałem patcha podbijającego wersję Geany do 1.36 żeby rzeczy pasowały do siebie.

Parę uwag na szybko.

> Summary:	A collection of different plugins for Geany
> Summary(pl.UTF-8):	Zbi??r r????nych wtyczek dla Geany
> Name:		geany-plugins
> Version:	1.36
> Release:	1
> License:	GPL v2+
> Group:		Libraries
> Source0:	%{name}-%{version}.tar.gz

W source powinieneś podać URL
Source0: https://plugins.geany.org/geany-plugins/%{name}-%{version}.tar.gz

> # Source0-md5:	76501a5adb92633cc41d0b6453692454
> URL:		https://plugins.geany.org/geany-plugins/

A w URL raczej stronę projektu niż katalog z plikami:
URL:	https://plugins.geany.org/

[...]
> 
> %build
> %configure
> 
> %{__make}

Jeśli Makefile jest "sprytny" i ukrywa linie komend to dodawaj opcje
verbose (tak jak ją dany projekt implementuje), tutaj:

%{__make} V=1

Warto widzieć co się zepsuło, jeśli się budowanie zepsuje.

> 
> %install
> rm -rf $RPM_BUILD_ROOT
> 
> %{__make} install \
> 	DESTDIR=$RPM_BUILD_ROOT
> 
> # fix locales
> rm -rf $RPM_BUILD_ROOT%{_localedir}/el

Nie używaj -f do rm, w ten sposób będzie widać przyszłości jak plik
zniknie i rm nie będzie potrzebne.

> 
> %find_lang %{name}
> rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}/{AUTHORS,COPYING,ChangeLog,NEWS,README}
> #%{!?_noautocompressdoc:find $RPM_BUILD_ROOT%{_docdir}/%{name}/} -type f -exec gzip \{\} \;
> find $RPM_BUILD_ROOT%{_docdir}/%{name}/ -type f -not -name '*.html' -not -name '*.png' -not -name '*.css' -not -name '*.pdf' -not -name '*.tex' -exec gzip {} \;

Wywal te manipulacje dokumentacją, to jest nie-maintainowalne (pardon my
English). Jeśli już program instaluje własną dokumentację, to niech już
to będzie tak jak zainstalował.

Ale tak na prawdę to takie rzeczy jak README, NEWS czy ChangeLog to
powinniśmy pakować przez %doc rpm-a.

Masz to podzielone na podpakiety, spokojnie możesz mieć w każdej paczce
README, np 

$package a
%doc a/README

%package b
%doc b/README

rpm założy _dwa_ katalogi na to:

%{_docdir}/pakiet-a-%{version}/
%{_docdir}/pakiet-b-%{version}/

Wywal cały $RPM_BUILD_ROOT%{_docdir}/%{name} i popakuj tę dokumentację w
podpaczkach.

> 
> %clean
> rm -rf $RPM_BUILD_ROOT
> 
> %files -f %{name}.lang
> %defattr(644,root,root,755)
> %doc  NEWS README
> %{_libdir}/*.so*
> %dir %{_docdir}/%{name}
> #%{_libdir}/geany/*.so
> 
> %package devel
> Summary:	Header files for geany-plugins
> Summary(pl.UTF-8):	Pliki nag????wkowee dla geany-plugins
> Group:		Development/Libraries
> Requires:	%{name} = %{version}-%{release}
> 
> %description devel
> Header files for geany-plugins.
> 
> %description devel -l pl.UTF-8
> Pliki nag????wkowe dla gean-plugins..
> 
> %files devel
> %defattr(644,root,root,755)
> %{_libdir}/*.la*
> %{_libdir}/geany/*.la
> %{_libdir}/%{name}/geanylua/*.la
> 
> %package addons
> Summary:	Various small plugins for Geany
> Summary(pl.UTF-8):	R????ne drobne dodatki dla Geany
> Group:		Libraries
> Requires:	%{name} = %{version}-%{release}
> 
> %description addons
> This plugin adds various small addons to Geany which aren't worth an
> own plugin but might still useful for people.
> 
> %description addons -l pl.UTF-8
> Ten plugin dodaje r?? ?? ne ma~B e dodatki do Geany, kt?? re nie zas~B
> uguj~E aby mie~G w~B asne pluginy ale wci~E ?? s~E u?? yteczne dla
> ludzi.
> 
> %files addons
> %defattr(644,root,root,755)
> %{_libdir}/geany/addons.so
> %dir %{_docdir}/%{name}/addons
> %doc %{_docdir}/%{name}/addons/*

Proszę nie rób tak, sekcje %package/%description powinny być na początku
- zaraz za głownym pakietem, przed %prep. Sekcje %files na samym końcu.
Popatrz w jakiś inny duży spec, choćby rpm.spec.
Tak jak to zrobiłeś to widuję w fedorze i to jest bardzo nieczytelne i
ciężkie do edycji jak się list plików zmienia.


-- 
Jan Rękorajski                    | PLD/Linux
SysAdm | baggins<at>pld-linux.org | http://www.pld-linux.org/


More information about the pld-devel-pl mailing list