zamieszanie z i2c (lm_sensors.spec)

Jakub Bogusz qboosh w pld.org.pl
Wto, 29 Sty 2002, 23:49:44 CET


> Revision 1.45  2002/01/29 16:30:51  marcus
> - BR i2c-devel, Req i2c is for NON distro kernel, PLD kernel has it by default
> 
> Revision 1.44  2002/01/29 16:26:00  marcus
> - Requires: i2c is for non-distr kernel too

Tak też niedobrze (gorzej niż było).

Właściwie dlaczego przy kompilacji z dystrybucyjnym kernelem tego nie
wymagać? Takie wymaganie nie zaszkodzi, bo kernel i kernel-headers mają
odpowiednie Provides i Requires.

A kernel dystrybucyjny to przecież nie tylko 2.2.20-ileś.

Możliwe są 4 sytuacje:
a) kernel dystrybucyjny - stary
b) kernel dystrybucyjny >= 2.2.20-ileś lub >= 2.4.13
c) kernel niedystrybucyjny - stary
d) kernel niedystrybucyjny >= 2.4.13

Sytuacja "defaultowa" to b) - kernel{,-headers} ma odpowiednie Provides,
które zaspokajają BReq/Req w lm_sensors.spec - czyli te BR/R nie
przeszkadzają.

Sytuacja a) - kernel nie dostarcza właściwej wersji i2c{,-devel}
- wymagania nie są spełnione (słusznie!), żeby używać lm_sensors z takim
kernelem, trzeba zainstalować i2c z oddzielnego pakietu. BR/R
w lm_sensors o tym poinformują.

Sytuacja d) - dodatkowe i2c nie jest potrzebne, lm_sensors powinno się
dać skompilować --without dist_kernel. Czyli te zależności nie mogą być
przy kompilacji z taką opcją (żeby nie trzeba było dodawać jeszcze
--nodeps).

Sytuacja c) - moduł i tak trzeba kompilować --without dist_kernel, ale
wymaganie, pomimo tego, że przez --without dist_kernel wyłączone, może
zasugerować wymaganie odpowiedniej wersji i2c{,-devel}.

IMO najsensowniejsze rozwiązanie (skoro kernele zawierajace nowe i2c
mają je w Provides) to "%{!?_without_dist_kernel:BuildRequires:
i2c-devel >= 2.6.0}" w lm_sensors.spec oraz
"%{!?_without_dist_kernel:Requires: i2c >= 2.6.0}" w podpakietach
z modułami. Załatwia to sytuacje a),b),d) i częściowo c).
Natomiast tak jak teraz jest - są problemy w a),d).


Głupio tak się rozpisywać na temat dwóch linijek :)
Ale commitów już kilka było, a nadal nie wiem, co złego widzicie
w dodatkowym wymaganiu w przypadku kernela dystrybucyjnego.


-- 
Jakub Bogusz    http://prioris.mini.pw.edu.pl/~qboosh/
PLD Linux       http://www.pld.org.pl/



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