inteltool.spec
Daniel Dawid Majewski
light-i at o2.pl
Thu Jun 11 11:43:50 CEST 2009
Pewnego dnia wpadła wieść od Bartosz Świątek i powiedziała :
>> W załączniku spec do inteltool, buduje się z svn-a, wystarczy polecenie :
>> $ rpmbuild -bb inteltool.spec
>> Jeśli ktoś uzna to za stosowne, to niech przerobi na wersję "dropin".
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> Version: r4190.svn
>
> To na pewno nie jest prawda. Jesli nie znamy wersji bo nie jest
> jednoznacznie udokumentowana uznajemy ze jest to wersja 0. Jest to
> bezpieczne zalozenie bo jakakolwiek by potem wersje nie zalozyli, to
> bedzie ona wieksza niz 0 i pozwoli na bezproblemowy upgrade (bez
> stosowania Epoch)
>
>> Release: 1
>
> W zwiazku z powyzszym to tez jest oczywiscie zle.
> Poprawnie powinienes na gorze gdzies zdefiniowac rewizje svnu i
> release dac ulamkowy uwzgledniajac rewizje np. 0.%{_svn}.1
OK, wersja/wypust w/g powyższych uwag w załączniku.
Odnalazłem w źródłach oficjalnie zdefiniowaną wersję (inteltool.h:31):
#define INTELTOOL_VERSION "1.0"
Pytanie dodatkowe - czy dorzucenie '_svn' do wypustu (jak w załączniku) czemuś by zaszkodziło ? W ten sposób
czytelniejsze jest pochodzenie źródeł.
>
>> License: GPL v2
>> Group: Applications/System
>> URL: http://www.coreboot.org/Inteltool
>> BuildRequires: pciutils-devel
>> BuildRequires: rpm-build >= 4.3-0.20030610.21
>> BuildRequires: subversion
>
> Ekhem... To to chyba jasne ze jest bzdura. Nie?
W związku z tym, że nie znalazłem na chwilę obecną żadnego oficjalnego archiwum (brak Source0) to niekoniecznie...
Jest to wiec jedyna metoda aby zbudować sprawną paczkę, co więcej, do tego nie trzeba skryptu 'builder', wystarczy
'rpmbuild'. Sprawdziłem, to działa, dysponuję buildlogiem...
>
>> BuildRequires: zlib-devel
>> BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
>>
>> %define _sbindir /sbin
>> %define _svn_url svn://coreboot.org/repos/trunk/util/inteltool
>
> Do wywalenie ^^^^^^^^^^^^^
A skąd źródła ?
>
>> %define _revision %(echo %{version} | sed -e 's/^r\\([[:digit:]]\\+\\)\\..*/\\1/')
>
> Uhm... Po co?
Ok, wystarczy definicja na początku. Poprawione.
>
>> %description
>> Inteltool is a small utility that provides some information about the
>> Intel CPU/chipset hardware configuration (register contents, MSRs
>> (need loading 'msr' kernel module), etc).
>>
>> %description -l pl.UTF-8
>> Inteltool to podręczne narzędzie dostarczajace informacji o
>> konfiguracji sprzętowej chipsetu/CPU Intela (zawartość rejestrów,
>> MSR-y (potrzebne załadowanie modułu jądra 'msr') itp.).
>>
>> %prep
>> %setup -q -c -T
>> _REV=%{_revision}
Tu skorygowałem (załącznik).
>> _SVN_LL=`svn log -l 1 %{_svn_url} | sed -n -e '2p'`
>> _LASTREV=`echo "$_SVN_LL" | sed -e 's/^r\\([[:digit:]]\\+\\)\\ .*/\\1/'`
>> _LASTREVD=`echo "$_SVN_LL" | awk '{print $5}'`
>> [ $_LASTREV -gt $_REV ] && echo "Newer revision found : r$_LASTREV from $_LASTREVD, notice to this spec !!!"
Prosta metoda na sprawdzenie update od razu w specu.
>> svn export --force -r $_REV %{_svn_url} ${PWD}
>
> Fuj fuj fuj. Po co?
A z czego mam zbudować w obecnym stanie ?
--
Pozdrawiam,
Daniel Dawid Majewski
jabber:light-i/jid.pl
-------------- next part --------------
# $Revision:$, $Date:$
%define _svn_rev 4190
Summary: Utility for recognize Intel HW (chipset/CPU) configuration information
Summary(pl.UTF-8): NarzÄdzie do rozpoznawania informacji konfiguracyjnych w sprzÄcie Intela (chipset/CPU)
Name: inteltool
Version: 1.0
Release: 0.%{_svn_rev}_svn.1
License: GPL v2
Group: Applications/System
URL: http://www.coreboot.org/Inteltool
BuildRequires: pciutils-devel
BuildRequires: rpm-build >= 4.3-0.20030610.21
BuildRequires: subversion
BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sbindir /sbin
%define _svn_url svn://coreboot.org/repos/trunk/util/inteltool
%description
Inteltool is a small utility that provides some information about the
Intel CPU/chipset hardware configuration (register contents, MSRs
(need loading 'msr' kernel module), etc).
%description -l pl.UTF-8
Inteltool to podrÄczne narzÄdzie dostarczajace informacji o
konfiguracji sprzÄtowej chipsetu/CPU Intela (zawartoĹÄ rejestrĂłw,
MSR-y (potrzebne zaĹadowanie moduĹu jÄ
dra 'msr') itp.).
%prep
%setup -q -c -T
_SVN_LL=`svn log -l 1 %{_svn_url} | sed -n -e '2p'`
_LASTREV=`echo "$_SVN_LL" | sed -e 's/^r\\([[:digit:]]\\+\\)\\ .*/\\1/'`
_LASTREVD=`echo "$_SVN_LL" | awk '{print $5}'`
[ $_LASTREV -gt %{_svn_rev} ] && echo "Newer revision found : r$_LASTREV from $_LASTREVD, notice to this spec !!!"
svn export --force -r %{_svn_rev} %{_svn_url} ${PWD}
%build
%{__make} \
CC='%{__cc}' \
CFLAGS='%{rpmcflags}' \
LDFLAGS='%{rpmldflags} -lpci -lz'
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8}
install %{name} $RPM_BUILD_ROOT%{_sbindir}
install %{name}.8 $RPM_BUILD_ROOT%{_mandir}/man8
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/%{name}
%{_mandir}/man8/%{name}.8*
%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} PLD Team <feedback at pld-linux.org>
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log:$
More information about the pld-devel-pl
mailing list