make modules_install a locale

Michal Svec rebel na atrey.karlin.mff.cuni.cz
Pondělí Listopad 1 18:53:19 CET 1999


> > > po instalaci 2.2.13 (na RH6.1) jsem si vsiml, ze 
> > > v /lib/modules/2.2.13/misc mam podezrele mnoho modulu (tj. i ty,
> > > ktere se nainstalovaly do jinych adresaru) Dival jsem se do
> > > Makefile a zjistil, ze problem je v tomto:
> > > v prubehu instalace se jiz instalovene moduly ukladaji do $MODULES;
> > > okolo radku 340 se pomoci 'for f in *.o' zjisti existujici moduly,
> > > a pouzitim 
> > > 
> > > echo $$MODULES | tr ' ' '\n' | sort | comm -23 $$MODLIB/.allmods - \
> > > 	> $$MODLIB/.misc; \ 
> > > 
> > > se zisti, ktere moduly se jeste nikam nenainstalovaly. Problem
> > > nastane v situaci, kdy je locale jine nez C a sort to setridi
> > > jinak nez 'for f in *.o', coz zmate comm. (konkretne modul 8390.o,
> > > protoze podle ceskeho trideni se zaradi cislo za alfabeticke
> > > znaky)
> > 
> > Po letmem nahlednuti do Makefile u verze 2.2.12 a 2.2.13 to vypada, ze u
> > toho find-u vypadnul sort, ktery tam u 2.2.12 jeste byl. Zpetne pridani by
> > tento problem podle me vyresilo.
>  
> O to nejde, ten sort tam je porad, problem je ze pri ceskem locale
> to tridi jinak, nez se v Makefile predpoklada. (problem je s cisly
> a s pismenem 'ch', mozna i s nekterymi nealfanumerickymi znaky)

O to samozrejme jde. Prikaz com porovnava dva vystupy, jeden z prikazu
find a druhy ze seznamu nainstalovanych modulu. Ve verzi 2.2.12 jdou oba
dva vystupy pres sort, v 2.2.13 pouze ten druhy.

> (Driv se to neprojevovalo, protoze sort v RH do 6.0 vcetne stejne
> netridil cesky)

Pokud bude comm porovnavat dva (stejne) utridene vstupy, nezalezi (nemelo
by) na lokales.

Michal

PS. pro uplnost oba zminene kusy Makefile:

linux-2.2.12/Makefile:

 for f in *.o; do [ -r $$f ] && echo $$f; done | sort > $$MODLIB/.allmods
 echo $$MODULES | tr ' ' '\n' | sort | comm -23 $$MODLIB/.allmods - > $$MA


linux-2.2.13/Makefile:

 for f in *.o; do [ -r $$f ] && echo $$f; done > $$MODLIB/.allmods; \
 echo $$MODULES | tr ' ' '\n' | sort | comm -23 $$MODLIB/.allmods - > $$M



Další informace o konferenci Linux