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 revisionPrevious revision
Next revision
Previous revision
mmazur [2006-11-14 18:19] – test6 mmazurpeople:mmazur [2013-01-17 11:44] (current) – external edit 127.0.0.1
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.1163524778.txt.gz · Last modified: 2006-11-14 18:19 by mmazur

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS PLD Linux Driven by DokuWiki