flashrom.spec
Bartosz Świątek
shadzik w gmail.com
Pon, 8 Cze 2009, 15:08:45 CEST
W dniu 8 czerwca 2009 14:52 użytkownik Daniel Dawid Majewski
<light-i w o2.pl> napisał:
> Pewnego dnia wpadła wieść od Daniel Dawid Majewski i powiedziała :
>> Oto nowy spec dla narzędzia do flashowania BIOSU i nie tylko. Spec i łatka dla linux w załączniku. Sugestie mile widziane.
> A teraz wersja minimalistyczna ;)
> --
> Pozdrawiam,
> Daniel Dawid Majewski
> jabber:light-i/jid.pl
>
> # $Revision:$, $Date:$
> Summary: Tool Flashing your BIOS from the Unix/Linux command line
> Summary(pl.UTF-8): Narzędzie do upgrade BIOS z lini poleceń Unix/Linux
> Name: flashrom
> Version: 0.9.0
> Release: 1
> License: GPL v2
> Group: Applications/Communications
> Source0: http://qa.coreboot.org/releases/%{name}-%{version}.tar.gz
> Patch0: %{name}-%{version}-linux-make.patch
> URL: http://www.coreboot.org/Flashrom
> BuildRequires: coreutils
> BuildRequires: glibc-headers
> BuildRequires: pciutils-devel
> BuildRequires: rpm-build >= 4.3-0.20030610.21
> BuildRequires: zlib-devel
> ExclusiveArch: %{ix86} %{x8664}
> BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
>
> %define _sbindir /sbin
>
> %description
> flashrom is a utility for identifying, reading, writing, verifying and
> erasing flash chips. It's often used to flash BIOS / EFI / coreboot /
> firmware images.
> - Supports more than 160 flash chips, 75 chipsets, 100 mainboards, and
> 10 PCI devices which can be used as external programmers.
> - Supports parallel, LPC, FWH and SPI flash interfaces and various
> chip packages (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40 and
> more)
> - No physical access needed, root access is sufficient.
> - No bootable floppy disk, bootable CD-ROM or other media needed.
> - No keyboard or monitor needed. Simply reflash remotely via SSH.
> - No instant reboot needed. Reflash your chip in a running system,
> verify it, be happy. The new firmware will be present next time you
> boot.
> - Crossflashing and hotflashing is possible as long as the flash chips
> are electrically and logically compatible (same protocol). Great for
> recovery.
> - Scriptability. Reflash a whole pool of identical machines at the
> same time from the command line. It is recommended to check flashrom
> output and error codes.
> - Speed. flashrom is often much faster than most vendor flash tools.
> - Portability. Supports Linux, FreeBSD, DragonFly BSD, Solaris, Mac OS
> X, and other Unix-like OSes.
>
> %description -l pl.UTF-8
> flashrom to narzędzie do identyfikacji, odczytu, zapisu, weryfikacji i
> kasowania układów flash. Jest często używany do programowania BIOS /
> EFI / coreboot / firmware z pliku.
> - Obsługuje ponad 160 chipów flash, 75 chipsetów, 100 płyt głównych i
> 10 urządzeń PCI, które mogą być wykorzystane jako zewnętrzne
> programatory.
> - Wspiera układy flash równoległe, LPC, SPI i FWH o różnych
> obudowach/wyprowadzeniach (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32,
> TSOP40 i inne)
> - Nie potrzeba fizycznego dostępu, wystarczy dostęp do konta root.
> - Nie potrzebuje bootowalnej dyskietki, rozruchowego dysku CD-ROM lub
> innych nośników.
> - Niekonieczne ani klawiatura lub monitor. Wystarczy przeprogramować
> zdalnie poprzez SSH.
> - Nie ma potrzeby ponownego uruchamiania komputera. Zaprogramuj swój
> chip w uruchomionym systemie, zweryfikuj, bądź szczęśliwy. Nowy
> firmware będzie dostępny przy następnym bootowaniu.
> - Crossflashing i hotflashing jest możliwe tak długo, jak układy flash
> są elektrycznie i logicznie kompatybilne (ten sam protokół). Świetna
> metoda do przywracania sprzętu z źle zaprogramowanym firmware/BIOS.
> - Prosta możliwość tworzenia skryptów do wielokrotnego programowania.
> Programowanie identycznych maszyn w tym samym czasie z linii poleceń.
> Zaleca się sprawdzanie komunikatów programu flashrom i kodów błędów.
> - Szybkość. flashrom jest często znacznie szybszy niż większość
> sprzedawanych narzędzi dp flashowania.
> - Wszechstronność. Wspiera Linux, FreeBSD, Dragonfly BSD, Solaris, Mac
> OS X i inne systemy operacyjne oparte na Unix.
>
> %prep
> %setup -q
> %patch0 -p1
> sed -i -e 's,__LIB_DIR_,%{_libdir},g' \
> ./Makefile
>
> %build
> %{__make}
>
> %install
> rm -rf $RPM_BUILD_ROOT
> install -d $RPM_BUILD_ROOT%{_sbindir}
> install %{name} $RPM_BUILD_ROOT%{_sbindir}
> install -d $RPM_BUILD_ROOT%{_mandir}/man8
> install %{name}.8 $RPM_BUILD_ROOT%{_mandir}/man8
>
> %clean
> rm -rf $RPM_BUILD_ROOT
>
> %files
> %defattr(644,root,root,755)
> %doc README COPYING
> %attr(755,root,root) %{_sbindir}/flashrom
> %{_mandir}/man8/flashrom.8*
>
> %define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
> %changelog
> * %{date} PLD Team <feedback w pld-linux.org>
> All persons listed below can be reached at <cvs_login>@pld-linux.org
>
> $Log:$
>
> --- flashrom-0.9.0/Makefile.oryg 2009-05-04 01:37:07.000000000 +0200
> +++ flashrom-0.9.0/Makefile 2009-06-08 14:25:38.000000000 +0200
> @@ -26,6 +26,10 @@
> CFLAGS += -I/usr/local/include
> LDFLAGS += -L/usr/local/lib
> endif
> +ifeq ($(OS_ARCH), Linux)
> +CFLAGS += -I/usr/include
> +LDFLAGS += -L__LIB_DIR_
> +endif
>
> LDFLAGS += -lpci -lz
Hej,
patch wydaje sie byc zmienny. To samo uzyskasz uyzwajac w sekcji %build
%{__make} CFLAGS="%{rpmcflags} +jakies_dodatkowe"
LDFLAGS='${rpmldflags} +jakies_dodatkowe'
poza tym w drugiej wersji nic mi sie juz nie rzucilo w oczy.
--
"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