ot Boyan Kehayov(28-02-2007)
reiting (24)
[ dobre ]
[ zle ]
Variant za otpechatvane Kakvo e tova LXR?
Tova e programa (nabor ot skriptove) napisana na Perl za
pokazvane na sorsove prez ueb.
Ima vuzmozhnosti za tursene na funktsii, failove i proizvolen
tekst. Vsichko rezultati se
pokazva kato linkove i sled tova mozhe da gi razgledate v
lyubimiia si brauzur.
Mozhe da slozhite proizvolen broi programi i tehnite
versii.
Izpolzva se stabilnata versiia na lxr-0.3.1, koiato mozhe da
svalite ot tuk:
http://sourceforge.net/projects/lxr
Svaliame si sorsa i po traditsiia go slagame v
/usr/src/lxr-0.3.1.tar.gz.
Za da proraboti LXR se nuzhdaem oshte ot:
- Perl versiia 5 ili po-nova.
- Ueb survur s cgi-script poddruzhda.
i kato dopulnenie, za da imame tursene na proizvolen
tekst:
- Glimpse ot http://glimpse.cs.arizona.edu,
koeto e bezplatno za ne komersialna upotreba.
Zabelezhka: V novata versiia se izpolzva GPL programa za
proizvolnoto tursene.
Razarhivirame i vlizame s direktoriiata sus sorsa:
# tar -xzvf lxr-0.3.1.tar.gz
# cd lxr-0.3
Kakto pishe v INSTALL faila, triabva da redaktirame Makefile
kato promenim slednite 2 reda
ot nego
# Makefile for installation and configuration of LXR
# The location of your perl5 binary
# Put do purl interpretatora, koito si e tam v povecheto
distributsii
PERLBIN=/usr/bin/perl
# LXR will be installed here
# Miasto, kudeto iskame da instalirame LXR
# V nashiia sluchai tova e /var/www/lxr
INSTALLPREFIX=/var/www/lxr
Sled tova instalirame programata.
# make install
Otivame v direktoriiata, koiato sme zadali i Makefile.
# cd /var/www/lxr
# ls
bin http source
#
V bin e skriptut za indeksirane.
V http sa skriptovete i konfiguratsionnite failove, a source
e papkata, koiato
se izpolzva za dannite ot indeksiraneto i sorsovete (ako
iskate da gi slozhite tam).
Triabva da se napravi fail, koito ukazva Apache da izpulniava
skriptovete,
a ne da gi pokazva kato tekst.
#cd http
#touch .htaccess
Redaktirame faila s lyubimiia tekstov redaktor i zapisvame
vutre:
<Files ~ (search|source|ident|diff|find)$>
SetHandler cgi-script
</Files>
Za moite nuzhdi az sum razarhiviral sorsovere na dve versii
na virtualizatora xen v
/home/user1/xen_3.0.x/xen-3.0.3_0-src i
/home/user1/xen_3.0.x/xen-3.0.4_1-src
Suzdavam dva faila i dve direktorii v
/var/www/lxr/source
# cd ../source
# touch versions
# touch defversion
# mkdir xen-3.0.3_0-src
# mkdir xen-3.0.4_1-src
Vuv versions zapisvame vsichki versii ili programi, koito
iskame da indeksirame.
Vsiaka e na otdelen red.
Eto moite:
# cat versions
xen-3.0.3_0-src
xen-3.0.4_1-src
Vuv defversion zapisvame versiiata, koiato iskame da se
pokazva po podrazbirane
pri izvikvane na LXR.
# cat defversion
xen-3.0.3_0-src
Zabelezhka: Ako imate podchertavashto tire v imenata na
direktoriite ili drugi simvoli
razlichni ot [a-z],[A-Z],[0-9] "." "-"
triabva da napravite
malka promiana v edin ot skriptovete na programata:
# cd ../http/lib/LXR/
# vim Config.pm
Namirate chastta:
sub varexpand {
my ($self, $exp) = @_;
$exp =~ s{${?(w+)}?}{
$self->{variable}->{$1} =~
/^([a-zA-Z0-9.-_]*)$/ ? $1 : ''
}ge;
return($exp);
}
i promeniate [a-zA-Z0-9.-] na [a-zA-Z0-9.-_], za da se
dobavi podchertavashtoto tire.
Mozhe da dobavite i drugi simvoli, koito izpolzvate pri
imenuvaneto na vashite programi
ako gi niama v opisanite po gore po analogichen nachin.
Direktoriite izpolzvam, za da suhraniavam v tiah indeksnte
failove, suzdadeni ot
/var/www/lxr/bin/genxref skriptut i tezi ot
glimpseindex programata.
Ako sa v obshtata direktoriia se poluchava prepokrivane ot
razlichnite indeksiraniia i
ostava validen samo posledno indeksiraniiat sors.
Sledvashtata stupka e da redaktirame konfiguratsionniia fail
lxr.conf
Eto kak izglezhda moiat:
# cat /var/www/lxr/http/lxr.conf
# Configuration file.
# Define typed variable "v", read valueset from
file.
# v se chete ot faila versions, koito suzdadohme v
direktoriiata source,
# i priema stoinostite za razlichnite versii
# defversion e fail, otnovo suzdaden ot nas v direktoriiata
source i sudurzha versiiata,
# koiato da se pokazva pri purvoto izvikvane na
programata.
# Mozhe da se vidi na http://lxr.linux.no/source/ , che
versiiata po podrazbirane e 2.6.17.13
variable: v, Version, [/var/www/lxr/source/versions],
[/var/www/lxr/source/defversion]
# Define typed variable "a". First value is
default.
variable: a, Architecture, (i386, alpha, m68k, mips, ppc,
sparc, sparc64)
# Define the base url for the LXR files.
# Tuk triabva da zadadem putia do papkata http sled glavnata
papka na Apache
# V www (DocumentRoot na Apacha)nie imame /lxr/http i
redaktirame
baseurl: http://81.161.245.2/lxr/http/
# These are the templates for the HTML heading, directory
listing and
# footer, respectively.
htmlhead: /var/www/lxr/http/template-head
htmltail: /var/www/lxr/http/template-tail
htmldir: /var/www/lxr/http/template-dir
# The source is here.
# Tova e papkata sus sorsovete. Mozhe da si zadadem koiato i
da,
# no da imame prava za chetene i vlizane v papkite t.e x-r
# Promenlivata $v priema stoinostite opisani v versions
faila
sourceroot: /home/user1/xen_3.0.x/$v/
# Zadavame proizvolno ime
srcrootname: xensource
# "#include <foo.h>" is mapped to this
directory (in the LXR source
# tree)
# put do osnovnite biblioteki
incprefix: /usr/include
# The database files go here.
# Direktoriiata za indeksnite failove.
#Promenlivata $v priema stoinostite opisani v versions
faila
# i taka za vsiaka versiia sa v razlichna direktoriia.
dbdir: /var/www/lxr/source/$v/
# Glimpse can be found here.
glimpsebin: /usr/local/bin/glimpse
# The power of regexps. This is pretty
Linux-specific, but quite
# useful. Tinker with it and see what it does.
(How's that for
# documentation?)
map: /include/asm[^/]*/ /include/asm-$a/
map: /arch/[^/]+/ /arch/$a/
Sledvashtata stupka e da indeksirame sorsovete.
Tova stava chrez izpolzvane na skripra v
/var/www/lxr/bin/genxref i
glimpseindex.
# cd /var/www/lxr/source/xen-3.0.3_0-src
# /var/www/lxr/bin/genxref
/home/user1/xen_3.0.x/xen-3.0.3_0-src/
Tuk vremeto za chakane e pravo proportsionalno na goleminata
na sorsa
i obratno proportsionalno na izchislitelnata mosht, s koiato
razpolagate :)
# glimpseindex -H .
/home/user1/xen_3.0.x/xen-3.0.3_0-src/
# cd ../xen-3.0.4_1-src
# /var/www/lxr/bin/genxref
/home/user1/xen_3.0.x/xen-3.0.4_1-src/
# glimpseindex -H .
/home/user1/xen_3.0.x/xen-3.0.4_1-src/
Zabelezhka: Pri izvikvaneto na genxref izpolzvaite pulniia
(absolyutniia) put,
a ne ../../bin/genxref. Ako napravite vtoroto pri opit da
tursite neshto shte
poluchite suobshtenie ot vida:
"Can't find xref file in
.../source/xen-3.0.3_0-src///xref",
koeto pri provedenite opiti ne se sluchva pri purviia nachin
na vikane na
genxref. Qvno niakude se izpolzva PWD ili podobna komanda na
Perl, i rezultatut
e razlichen pri vikane ot razlichni direktorii. Tova mogat da
kazhat horata, koito
znaiat Perl.
Poslednoto neshto, koeto triabva da napravite e da dadete
prava na Apache vurhu
suzdadenite direktorii i faillove:
# cd /var/www/
# chown -R www-data:www-data lxr/
Sled tova ostava da otvorite lyubimiia si brauzur i da
napishete:
http://localhost/lxr/http
Uspeh !
Izpolzvani dokumenti:
1. http://mia.ece.uic.edu/~papers/WWW/lxr....
2. http://lxr.linux.no/New-INSTALL
<< Prevod na Potrebitelsko rukovodstvo za Wine | Delegirane na access politiki v Postfix >>
|