User Tools

Site Tools


people:mmazur

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
people:mmazur [2006-11-14 18:11]
mmazur test4
people:mmazur [2013-01-17 11:44] (current)
Line 1: Line 1:
  
  
-<​file>​[mmazur@rudy(pldac) linux-libc-headers]$ export|grep -i llh +====== Builder stats generation ====== 
-declare -x LLHDIR="/​home/​users/​mmazur/​devel/​pld/​sandbox/​linux-libc-headers/"​ +(So I don't lose it
-[mmazur@rudy(pldaclinux-libc-headers]$ pwd +
-/​home/​users/​mmazur/​devel/​pld/​sandbox/​linux-libc-headers +
-[mmazur@rudy(pldac) linux-libc-headers]$ ls +
-2.4  cvs    linux-libc-headers ​ skrypty ​ tmp +
-2.6  diffy  paczka ​             sources ​ zepsute +
-</​file>​ +
-Pod '​linux-libc-headers'​ jest zawartość cvsu, '​scripts'​ to link symboliczny do '​linux-libc-headers/​scripts',​ jest tam kilka przydatnych rzeczy. W '​sources'​ są trzymane źródła kerneli, natomiast pod '​2.4'​ i '​2.6'​ są wyciągnięte ze źródeł nagłówki. Pierwsza rzecz, to zassać najnowszy kernel, rozpakować i wyciągnąć z niego nagłówki. W tym celu pierw sprawdzimy które katalogi z nagłówkami nas interesują. ​+
  
  
 +  * <​file>​egrep '​^To:​|^Date:​|^Build-Time:​|X-PLD-Builder:'​ archive |uniq>​~/​th
 +egrep '​^To:​|^Date:​|^Build-Time:​|X-PLD-Builder:'​ -r . |uniq|cut -d: -f 2-10>>​~/​th
  
-<​file>​[mmazur@rudy(pldac) linux-libc-headers]$ ls 2.6/2.6.12.2/include/ +sed -e 's/^2,S://' ​-i th
-asm-alpha  asm-generic ​ asm-m68k ​      ​asm-ppc64 ​ asm-sparc64 ​ mtd +
-asm-arm ​   asm-h8300 ​   asm-m68knommu ​ asm-s390 ​  ​asm-um ​      ​scsi +
-asm-arm26 ​ asm-i386 ​    ​asm-mips ​      ​asm-sh ​    ​asm-v850 ​    ​sound +
-asm-cris ​  ​asm-ia64 ​    ​asm-parisc ​    ​asm-sh64 ​  ​asm-x86_64 +
-asm-frv ​   asm-m32r ​    ​asm-ppc ​       asm-sparc ​ linux +
-</​file>​ +
-Oto którymi nagłówkami interesowaliśmy się ostatnio. No to teraz dodajemy z obecnego kernela. ​+
  
  
 +echo '​builders={}'>​th.py;​
 +cat th|grep '​^X-PLD-Builder:'​|sort|uniq|sed -e '​s,​^X-PLD-Builder:​ \(.*\)$,​builders["​\1"​]=[],'​ >>​th.py;​
 +cat th| sed -e '​s,​^To:​ \(.*\)$,​)]\nsender="​\1",'​ | sed -e '​s,​^X-PLD-Builder:​ \(.*\)$,​builders["​\1"​]+=[ ( sender\, \\,'| sed -e '​s,​^Date:​ \(.*\) .....$,"​\1"​\,​ 0.0 \\,'| sed -e '​s,​^Build-Time:​.*real:​\([^s]*\)s.*$,​+\1 \\,' >>​th.py;​
 +echo '​)]'>>​th.py;​
  
-<​file>​[mmazur@rudy(pldac) linux-libc-headers]$ mkdir 2.6/​2.6.13.2 
-[mmazur@rudy(pldac) linux-libc-headers]$ cd 2.6/​2.6.13.2/​include/​ 
-[mmazur@rudy(pldac) include]$ ls 
-acpi       ​asm-cris ​    ​asm-i386 ​ asm-m68knommu ​ asm-ppc64 ​ asm-sparc ​   asm-x86_64 ​ media   rxrpc 
-asm-alpha ​ asm-frv ​     asm-ia64 ​ asm-mips ​      ​asm-s390 ​  ​asm-sparc64 ​ asm-xtensa ​ mtd     scsi 
-asm-arm ​   asm-generic ​ asm-m32r ​ asm-parisc ​    ​asm-sh ​    ​asm-um ​      ​linux ​      ​net ​    sound 
-asm-arm26 ​ asm-h8300 ​   asm-m68k ​ asm-ppc ​       asm-sh64 ​  ​asm-v850 ​    ​math-emu ​   pcmcia ​ video 
-[mmazur@rudy(pldac) include]$ rm -rf acpi/ math-emu/ media/ net pcmcia/ rxrpc/ video/ 
-</​file>​ 
-No to pozbyliśmy się nieistotnych katalogów. Robimy diffy. ​ 
  
  
  
-<​file>​[mmazur@rudy(pldaclinux-libc-headers]$ cd scripts +import time 
-[mmazur@rudy(pldacscripts]$ ./​mkdiffs.sh 2.6.12.2 2.6.13.+for bname in builders: 
-[mmazur@rudy(pldacscripts]$ cd ../diffy/ +        builds=builders[bname] 
-[mmazur@rudy(pldacdiffy]$ ls -lh +        for build in builds: 
-total 3.9M +                t=time.strptime(build[1], "%a, %d %b %Y %H:​%M:​%S"​) 
--rw------- ​ 1 mmazur users  16K Sep 28 19:56 add +                t=time.strftime("​%Y-%m-%d %H:​%M:​%S",​ t) 
--rw------- ​ 1 mmazur users  424 Sep 28 19:56 del +                print "​INSERT INTO builds VALUES ​('​%s',​ '​%s',​ '​%s',​ %f);" % (bname, build[0], t, build[2]) 
--rw------- ​ 1 mmazur users 3.1M Sep 28 19:55 full.diff + 
--rw------- ​ 1 mmazur users 794K Sep 28 19:56 specific.diff+ 
 + 
 + 
 +echo '​CREATE TABLE builds (builder varchar(16), sender varchar(64), start datetime, duration float);'>​th.sql; 
 +python th.py |sort|uniq >> th.sql 
 + 
 </​file>​ </​file>​
-W '​add'​ jest lista plików dodanych w nowej wersji kernela, w '​del'​ usuniętych,​ '​full.diff'​ to pełny diff (diff -urN), natomiast '​specific.diff'​ to diff tylko pomiędzy plikami, które istnieją w obu wersjach kernela. Lista w '​add'​ jest taka długa, bo doszła nowa architektura,​ ale dodawaniem i wywalaniem plików, to już się ja zajmę. ​ 
  
-Główna zabawa jest z nałożeniem '​specific.diff'​ na ostatnie llh. Trzeba pamiętać o wywaleniu z diffa makr ''​__user'',​ ''​__kernel''​ i ''​__iomem''​ (i ewentualnie jakiś innych z linux/​compiler.h). Poza tym nic nie powinno includować linux/​config.h,​ a jak coś includuje asm-generic/​*,​ to zostawić mi, bo to jest dziwnie rozwiązane. ​ 
  
-test + 
 + 
 + ​[[::​categoryhomepage|CategoryHomepage]] ​
  
  
people/mmazur.1163524299.txt.gz · Last modified: 2006-11-14 18:11 by mmazur