c-lfs

changeset 70:3fd66e8690a6

add docs from wiki
author Yoann Padioleau <yoann.padioleau@gmail.com>
date Fri, 04 Jul 2008 12:16:12 +0000
parents 2b5f80a162da
children 82f5e6dd35ae
files Makefile authors.txt build-db.ml credits.txt docs/faq-old.txt docs/wiki/Makefile docs/wiki/authors.txt docs/wiki/bugs.txt docs/wiki/changes.txt docs/wiki/copyright.txt docs/wiki/credits.txt docs/wiki/faq.txt docs/wiki/features.txt docs/wiki/howto/install.txt docs/wiki/install-debian.txt docs/wiki/install.txt docs/wiki/lfs-users.txt docs/wiki/license.txt docs/wiki/lis.gif docs/wiki/quickguide.txt docs/wiki/readme.txt docs/wiki/start.txt docs/wiki/syntax.txt docs/wiki/wiki/dokuwiki.txt docs/wiki/wiki/syntax.txt lfs-0.5.ebuild lfs_core/lfs.ml lfs_real/lfs_semireal.ml
diffstat 27 files changed, 1395 insertions(+), 28 deletions(-) [+]
line diff
     1.1 --- a/Makefile	Fri Jul 04 00:14:17 2008 +0000
     1.2 +++ b/Makefile	Fri Jul 04 12:16:12 2008 +0000
     1.3 @@ -242,21 +242,24 @@
     1.4  ##############################################################################
     1.5  
     1.6  PACKAGE=lfs-$(VERSION)
     1.7 +
     1.8 +BINSRC=env.sh *.txt mount.lfs build-db.opt data/*.sh scripts/*.lfs   p_*
     1.9 +BINSRC2=$(BINSRC:%=$(PACKAGE)/%)
    1.10 +
    1.11 +TXT=$(wildcard *.txt)
    1.12 +
    1.13  TOPLFS=/home/pad/mobile/project-lfs
    1.14  WEBSITE=/home/pad/mobile/homepage/software/project-lfs
    1.15  
    1.16 -package:
    1.17 +
    1.18 +package: srctar
    1.19 +
    1.20 +srctar:
    1.21  	make clean
    1.22  	rm -f $(TOPLFS)/$(PACKAGE)
    1.23  	ln -s $(TOPLFS)/code $(TOPLFS)/$(PACKAGE)
    1.24  	cd $(TOPLFS); tar cvfz $(PACKAGE).tgz $(PACKAGE)/*
    1.25  
    1.26 -srctar: package
    1.27 -
    1.28 -
    1.29 -BINSRC=env.sh *.txt mount.lfs build-db.opt data/*.sh scripts/*.lfs   p_*
    1.30 -BINSRC2=$(BINSRC:%=$(PACKAGE)/%)
    1.31 -
    1.32  bintar: all all.opt
    1.33  	rm -f $(PACKAGE)
    1.34  	ln -s 'lfs_view.query/!.svn/!.hg/' $(PACKAGE)
    1.35 @@ -269,12 +272,16 @@
    1.36  	rm -f $(PACKAGE) $(PACKAGE)-bin.tgz $(PACKAGE)-bin-static.tgz 
    1.37  
    1.38  
    1.39 +
    1.40 +
    1.41 +
    1.42  website:
    1.43  	cp $(TOPLFS)/$(PACKAGE).tgz  $(WEBSITE)
    1.44  	cp $(PACKAGE)-bin.tgz        $(WEBSITE)
    1.45  	cp $(PACKAGE)-bin-static.tgz $(WEBSITE)
    1.46  
    1.47  syncwiki:
    1.48 +	set -e; for i in $(TXT); do unison $$i docs/wiki/$$i; done 
    1.49  	unison ~/public_html/wiki/wiki-LFS/data/pages/ docs/wiki/
    1.50  
    1.51  hgweb:
     2.1 --- a/authors.txt	Fri Jul 04 00:14:17 2008 +0000
     2.2 +++ b/authors.txt	Fri Jul 04 12:16:12 2008 +0000
     2.3 @@ -1,2 +1,3 @@
     2.4 +
     2.5  Yoann Padioleau
     2.6  
     3.1 --- a/build-db.ml	Fri Jul 04 00:14:17 2008 +0000
     3.2 +++ b/build-db.ml	Fri Jul 04 12:16:12 2008 +0000
     3.3 @@ -369,8 +369,8 @@
     3.4    Lfs.core_get_date_fcontent__today := 
     3.5     (function 
     3.6      | _ -> 
     3.7 -        let stat = Unix.lstat file in (* lstat for symlinks *)
     3.8 -        let float_time = stat.Unix.st_mtime in
     3.9 +        let stat = Unix.LargeFile.lstat file in (* lstat for symlinks *)
    3.10 +        let float_time = stat.Unix.LargeFile.st_mtime in
    3.11          Unix.localtime float_time
    3.12     );
    3.13    let intr_system = 
     4.1 --- a/credits.txt	Fri Jul 04 00:14:17 2008 +0000
     4.2 +++ b/credits.txt	Fri Jul 04 12:16:12 2008 +0000
     4.3 @@ -1,18 +1,16 @@
     4.4 -A big thanks to Olivier Ridoux and Sebastien Ferré for all their work
     4.5 +A big thanks to Olivier Ridoux and Sebastien Ferré for all their work
     4.6  around LIS and LFS.
     4.7  
     4.8  Thanks to 
     4.9 - - Vincenzo Ciancia for the OCaml binding to the Fuse library, 
    4.10 - - Lex Stein for the OCaml binding to Berkeley DB, 
    4.11 - - Sebastien Ferré for his implementation in OCaml of a suffix tree library, 
    4.12 -   and for his logic functors (logfun).
    4.13 +  * Vincenzo Ciancia for the OCaml binding to the Fuse library, 
    4.14 +  * Lex Stein for the OCaml binding to Berkeley DB, 
    4.15 +  * Sebastien Ferré for his implementation in OCaml of a suffix tree library, and for his logic functors (logfun).
    4.16  
    4.17 - - Richard Jones for his dumper module, 
    4.18 - - Brian Hurt and Nicolas Cannasse for their dynArray module,
    4.19 - - Troestler Christophe for his ANSITerminal module,
    4.20 +  * Richard Jones for his dumper module, 
    4.21 +  * Brian Hurt and Nicolas Cannasse for their dynArray module,
    4.22 +  * Troestler Christophe for his ANSITerminal module,
    4.23  
    4.24 - - Xavier Leroy for his implementation in OCaml of the agrep utility
    4.25 -   (and of course for OCaml).
    4.26 +  * Xavier Leroy for his implementation in OCaml of the agrep utility (and of course for OCaml).
    4.27  
    4.28  
    4.29  Thanks to the teams behind Berkeley DB and Fuse.
    4.30 @@ -21,10 +19,9 @@
    4.31  acolytes for respectively Emacs, Linux, OCaml, and (La)Tex.
    4.32  
    4.33  Thanks to the user of LFS
    4.34 - - Rix Beck for pointing out some bugs.
    4.35 - - Yoann Padioleau for all his amazing work, he is a great guy
    4.36 - - Diego Barrios (Eldruin) for beta-testing the semi_real_mode and writing
    4.37 -   the gentoo ebuild
    4.38 +  * Rix Beck for pointing out some bugs.
    4.39 +  * Yoann Padioleau for all his amazing work; he is a great guy
    4.40 +  * Diego Barrios (Eldruin) for beta-testing the semi_real_mode and writing the gentoo ebuild
    4.41  
    4.42  
    4.43  
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/docs/faq-old.txt	Fri Jul 04 12:16:12 2008 +0000
     5.3 @@ -0,0 +1,307 @@
     5.4 +-*- org -*- 
     5.5 +
     5.6 +* Misc 
     5.7 +
     5.8 +** cd toto:>45 need quote => cd 'toto:>45'.  No pb when use a tool
     5.9 +such as an explorer. Only a pb with shells, cos shells interpret symbols.
    5.10 +
    5.11 +** How do I rename a property ? 
    5.12 +
    5.13 + use noprop_  prefix.
    5.14 + ex: mv toto  noprop_tata
    5.15 + (if tata does not exist, then mv toto tata should work too, 
    5.16 +  but with valued attribute it doesnt work, cos when you try
    5.17 +  mv toto:titi toto:tata,  then toto:tata exist already =>
    5.18 +  do mv toto:titi  noprop_toto:tata
    5.19 +
    5.20 +
    5.21 +** Cannot write: Permission denied
    5.22 +
    5.23 +Because the file lack the w attribute.
    5.24 +Before importing file under LFS, ensure that all files have the w with
    5.25 + find -type f -exec chmod u+w {}
    5.26 +
    5.27 +Note that it is a limitation/problem of fuse.
    5.28 +
    5.29 +** Cannot change mode to rwxrwxr-x: Unknown error 127
    5.30 +
    5.31 +When detarring you can get such a message for some directories because
    5.32 +when detarring tar try to change the property of some directories, which is not
    5.33 +yet supported.
    5.34 +
    5.35 +
    5.36 +** transducer pb
    5.37 + first test it standalone
    5.38 +
    5.39 +then if update transducer, to retransduce files,  
    5.40 +  touch * 
    5.41 +
    5.42 +
    5.43 +** Cant put the meta-data on an NFS directory. 
    5.44 +
    5.45 +
    5.46 +** launching an application on a file under LFS is slow
    5.47 + => avoid to put . in your LD_LIBRARY_PATH
    5.48 +
    5.49 +** I get a Stack_Overflow
    5.50 + => use ulimit -s 30000  before mounting LFS
    5.51 +
    5.52 +
    5.53 +
    5.54 +** pb des fois peut pas creer obj,
    5.55 + - paske un attr a le meme nom => put .obj a la fin
    5.56 +
    5.57 +dont save a file in a directory where he will not reside anymore,
    5.58 + in fact can, but will have strange behaviour for emacs cos after the 
    5.59 + save the file is no more in dir and he make a symlink like .#xxxx 
    5.60 + orphan
    5.61 +
    5.62 +
    5.63 +** backuping LFS 
    5.64 +
    5.65 + sudo cp * backup/
    5.66 + copy last files/xxx directory
    5.67 + => that make some checkpoint to recover from a mistake (still sux, cos have to redo but better than nothing)
    5.68 + use Diff, but check only the "b not in a"
    5.69 + if crash, just find files/xxx and find backup-files/xxx  to see what files were last created to know what to redo
    5.70 +
    5.71 +.compat/.ca/props-misc^|props-classic^ is good to import existing stuff
    5.72 +
    5.73 +
    5.74 +** migrating to LFS 
    5.75 +
    5.76 +  reput a plat (pas grave si moins de categ qu'avant, car elles servent moins, put info in filename)
    5.77 +   just need as directory real important name
    5.78 +  put info in filename, agrep will do the rest :)
    5.79 +  cd .compat can help, .ca too, and good view too
    5.80 + 
    5.81 + import a tar (homedir, package, ...):
    5.82 + detar under ext2
    5.83 + find -exec gzip -d
    5.84 + look at find -type d and infere some recurring props to put in props-classic
    5.85 + look with find -type d  if there is some doubling rep such as  xxx/xxx in which case rename the second xxx in xxx2
    5.86 + ensure that all files have the w attribute (chmod a+w *,  cf above for explanation)
    5.87 + cd .compat/props-misc^
    5.88 + detar
    5.89 + glimpseindex
    5.90 +
    5.91 +
    5.92 +
    5.93 +* LFS and applications
    5.94 +
    5.95 +Some applications assume not that much documented stuff on the
    5.96 +underlying filesystem (cos there is no clear specification of what
    5.97 +should implement a filesystem and what are the invariant properties)
    5.98 +which are no more true (or not yet implemented) under LFS.
    5.99 +As a consequence, some applications behave differently (wrongly) under LFS 
   5.100 +than they do on classical hierarchical filesystems.
   5.101 +Nevertheless for some of those applications, there are some escapes:
   5.102 +
   5.103 +
   5.104 +** LFS, cd parts  and editors
   5.105 +
   5.106 +*** Emacs 
   5.107 +
   5.108 +emacs may not work as intended,
   5.109 +emacs fix when use pof:
   5.110 + (global-set-key "" (lambda () (interactive)
   5.111 +			(basic-save-buffer)	
   5.112 +			(revert-buffer t t)))	
   5.113 +(global-set-key "^X^S" (ilam
   5.114 +                        (unwind-protect
   5.115 +                            (basic-save-buffer)
   5.116 +                          (message "Here")
   5.117 +                          )
   5.118 +                        (unwind-protect
   5.119 +                            (revert-buffer t t t)
   5.120 +                          (message "Here2")
   5.121 +                          )
   5.122 +                        (revert-buffer t t t)
   5.123 +                        (message "Here")
   5.124 +                        (auto-save-mode -1)
   5.125 +                        (save-excursion
   5.126 +                          (if font-lock-mode
   5.127 +                              (font-lock-fontify-region (max (point-min) (- (point) 2000)) (min (point-max) (+ (point) 2000)))
   5.128 +                            ))
   5.129 +                        (message "Here3")
   5.130 +                        ))                    
   5.131 +
   5.132 +*** kate/kedit/... 
   5.133 +
   5.134 +may not work as intended when modifying a view.
   5.135 +type F5 to refresh the contents. editor are not used to the
   5.136 +fact that the file after the save is not the same than before.
   5.137 +
   5.138 +
   5.139 +
   5.140 +
   5.141 +** LFS and gnus
   5.142 +
   5.143 +Gnus under emacs may return an error message when getting new mail such as
   5.144 + "nnml-save-mail: Adding new name: no such file or directory, /home/pad/emails/irisa/3860, /home/pad/emails/caml/5075"
   5.145 +Indeed gnus try to create hard links between two mails when a mail satisfy multiple mail box.
   5.146 +The doc of gnus is helping: 
   5.147 +     `nnmh' and `nnml' makes crossposts by creating hard links to the
   5.148 +      crossposted articles.  However, not all file systems support hard
   5.149 +     links.  If that's the case for you, set
   5.150 +     `nnmail-crosspost-link-function' to `copy-file'.  (This variable is
   5.151 +     `add-name-to-file' by default.)
   5.152 +As LFS does not (want to) support hard links, the solution is to put in your .emacs
   5.153 + => (setq nnmail-crosspost-link-function 'copy-file)
   5.154 +
   5.155 +
   5.156 +
   5.157 +** LFS and NFS
   5.158 +
   5.159 +to export LFS over NFS, you have, with the kernel-lever nfs server, as indicated in fuse-mailing list, to
   5.160 +add a fsid=NNN in the option in /etc/exports.
   5.161 +example:
   5.162 + /tmp/lfs/src	131.254.50.45(rw,fsid=111)
   5.163 + /tmp/lfs/home	131.254.50.45(rw,fsid=112)
   5.164 +
   5.165 +Note that it seems that the filesystem has to be mounted before exporting it, so if you
   5.166 +have done a modification, kill the nfs server, mount your LFS mountpoint, relaunch nfs server.
   5.167 +
   5.168 +Note: if you want export it to a MACOSX NFS client, add 'insecure' as an option.
   5.169 +
   5.170 +In previous version of LFS, with perlfs, you could export LFS over NFS
   5.171 +by adding a --re-rexport when launching nfsd, the nfs user-lever server,
   5.172 +but it seems that it dont work anymore with fuse, so use the kernel-level
   5.173 +NFS server.
   5.174 +
   5.175 +
   5.176 +** LFS and find
   5.177 +
   5.178 +
   5.179 +find can return strange result (in fact very rare, or not anymore the case in recent LFS versions)
   5.180 + => use Option: -noleaf
   5.181 +   from the doc of find (and pointed out by the fuse faq)
   5.182 +     Do not optimize by assuming that directories contain 2 fewer
   5.183 +     subdirectories than their hard link count.  This option is needed
   5.184 +     when searching filesystems that do not follow the Unix
   5.185 +     directory-link convention, such as CD-ROM or MS-DOS filesystems or
   5.186 +     AFS volume mount points.  Each directory on a normal Unix
   5.187 +     filesystem has at least 2 hard links: its name and its `.'  entry.
   5.188 +     Additionally, its subdirectories (if any) each have a `..'  entry
   5.189 +     linked to that directory.  When `find' is examining a directory,
   5.190 +     after it has statted 2 fewer subdirectories than the directory's
   5.191 +     link count, it knows that the rest of the entries in the directory
   5.192 +     are non-directories ("leaf" files in the directory tree).  If only
   5.193 +     the files' names need to be examined, there is no need to stat
   5.194 +     them; this gives a significant increase in search speed.
   5.195 +
   5.196 +** LFS and tar:
   5.197 +
   5.198 +
   5.199 +>
   5.200 +> Comme je n'ai toujours pas trouvé le temps de tester la version
   5.201 +> actuelle, je me permets de poser une question, est-ce que les données du
   5.202 +> LFS peuvent être archivée via TAR ?
   5.203 +
   5.204 +Bien sur. Toutes les applis marchent de la meme maniere sous LFS
   5.205 +que sous EXT3. Par contre le comportement n'est pas forcemement le meme :)
   5.206 +
   5.207 +> Par exemple, pour être plus clair, car j'avoue avoir du mal à mettre
   5.208 +> cette question par écrit::
   5.209 +>
   5.210 +> Je fais un tar d'une arborescence et je la désarchive dans un système
   5.211 +> de fichier, ext3 par exemple. Est-ce je perds des informations ? Ou
   5.212 +> est-ce que je me retrouve tout simplement avec des informations qui ne
   5.213 +> sont pas exploitées (genre les .ext, .int), mais présentes tout de
   5.214 +> même ?
   5.215 +
   5.216 +Tu ne perds pas d'information, mais par contre tu risques d'avoir
   5.217 +des duplications dans ton tar.
   5.218 +
   5.219 +Je m'explique.
   5.220 +En imaginant que tu es creé sous LFS des fichier f1.txt f2.txt avec
   5.221 +pour le premier les propriétés a et b,  et pour le deuxieme a et c, par
   5.222 +exemple avec la suite de commandes suivantes:
   5.223 + cd /lfs
   5.224 +  mkdir a
   5.225 +  mkdir b
   5.226 +  mkdir c
   5.227 + echo "f1" > a/b/f1.txt
   5.228 + echo "f2" > a/c/f2.txt
   5.229 +
   5.230 +normalement si tu fais desormais ls a la racine, LFS repondra la reponse
   5.231 +suivante:
   5.232 + a/ b/ c/
   5.233 +car les propriétés 'a' 'b' et 'c'  sont des sous-repertoires possibles
   5.234 +du coup, si tu fais un tar,  a partir de la racine, ton tar contiendra
   5.235 +
   5.236 + a/b/f1.txt
   5.237 + a/c/f2.txt
   5.238 + b/f1.txt
   5.239 + c/a/f1.txt
   5.240 + c/b/f2.txt
   5.241 +
   5.242 +en fait ca sera
   5.243 +
   5.244 +a/b/f1.txt
   5.245 +a/c/f2.txt
   5.246 +b/f1.txt
   5.247 +c/f2.txt
   5.248 +
   5.249 +(et ca en mode .relaxed.  en .strict  tu vois pas a/ de la racine )
   5.250 +
   5.251 +
   5.252 +Donc tu as de la duplication.
   5.253 +
   5.254 +
   5.255 +Dans les faits on peut utiliser certaines commandes speciales
   5.256 +qui permettent de faire des tar avec moins de duplications.
   5.257 +Dans beaucoup de cas les fichiers n'ont pas vraiment bcp de propriétés
   5.258 +assignés manuellement par l'utilisateur mais ont par
   5.259 +contre des propriétés assignés automatiquement par les "transducteurs".
   5.260 +Par exemple, a partir d'un mp3 on extrait automatiquement du fichier
   5.261 +la propriété "artist:BeeGees" ou "genre:Disco" et ces propriétés
   5.262 +font parties du fichier.
   5.263 +Lorsque tu copies de LFS un fichier mp3 vers ext3,
   5.264 +ce fichier meme sous EXT3 conserver ses propriétés.
   5.265 +
   5.266 +
   5.267 +Pour ce qui est des .ext, .int, ... ce ne sont pas des propriétés.
   5.268 +Ce sont des commandes speciales,  donc tu ne verras pas
   5.269 +dans un repertoire si tu fais un ls   un sous-repertoire .ext/
   5.270 +par contre, tu peux rentrer dans un tel repertoire.
   5.271 +
   5.272 +** LFS and unison:
   5.273 +
   5.274 +After a synchronisation of my LFS meta-dir, I can get on of the mounted
   5.275 +LFS replica a message such as "demo.o   NO such file or directory" after a ls.
   5.276 +Why ?
   5.277 +
   5.278 +Don't forget to allow unison to copy .o, .obj, ... files. Edit your .unison/default.prf
   5.279 +and remove all the rule about special files.
   5.280 +
   5.281 +
   5.282 +** LFS and ocamldebug
   5.283 +
   5.284 +We cant launch ocamldebug under LFS because ocamldebug creates a pipe/socket 
   5.285 +in the current directory I think. LFS does not support pipe/socket so tweak ocamldebug
   5.286 +to create its pipe/socket a a place where it is supported
   5.287 +  => ocamldebug <command>  
   5.288 +      become
   5.289 +    ocamldebug -cd /tmp    <command>
   5.290 +     or
   5.291 +    ocamldebug -s /tmp/myocamldebug.socket    <command>
   5.292 +
   5.293 +Update: It seems that in recent version of ocaml, there is no more the problem
   5.294 +(it certainly now creates automatically his pipe/socket in /tmp).
   5.295 +
   5.296 +
   5.297 +
   5.298 +** LFS and make
   5.299 +
   5.300 +Sometimes you have some targets that dont produce file, such as 'install:', 'clean:', and so on.
   5.301 +So, when you type for example 'make clean', the make program first try to find a file named 'clean', and
   5.302 +as there is no such file, it executes the body of the target. The problem is that with LFS,
   5.303 +there may be a property named 'clean', or 'install', and as LFS allow the user to cd
   5.304 +anywhere from anywhere, when you type 'make clean', then make can succed in finding
   5.305 +a file named clean, and so it does not execute the body of your target.
   5.306 +
   5.307 +=> the solution is to tell make to not look for a file corresponding to such a target
   5.308 +with the .PHONY make command. For instance put this for the clean target in your makefile:
   5.309 +
   5.310 +.PHONY: clean
     6.1 --- a/docs/wiki/Makefile	Fri Jul 04 00:14:17 2008 +0000
     6.2 +++ b/docs/wiki/Makefile	Fri Jul 04 12:16:12 2008 +0000
     6.3 @@ -1,2 +1,7 @@
     6.4  syncwiki:
     6.5  	unison ~/public_html/wiki/wiki-LFS/data/pages/ .
     6.6 +
     6.7 +
     6.8 +manual.pdf:
     6.9 +	echo auto generate it from manual.txt
    6.10 +
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/docs/wiki/authors.txt	Fri Jul 04 12:16:12 2008 +0000
     7.3 @@ -0,0 +1,3 @@
     7.4 +
     7.5 +Yoann Padioleau
     7.6 +
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/docs/wiki/bugs.txt	Fri Jul 04 12:16:12 2008 +0000
     8.3 @@ -0,0 +1,15 @@
     8.4 +Sometimes mount.lfs failed, in the checking (fsck) part with strange
     8.5 +error message such as
     8.6 +
     8.7 + - ill formed message
     8.8 + - input value bad format
     8.9 + - assert_equal
    8.10 + - or even segmentation fault.
    8.11 +
    8.12 +This is especially true when managing more than 10 000 files. I dont
    8.13 +know why, but it seems related to berkeley DB as there is no bug while
    8.14 +using gdbm. Nevertheless, relaunch and pray and at some times it
    8.15 +should work (that works for me at least). You can also use -nofsck.
    8.16 +This problem never was a real problem for me while using LFS in
    8.17 +real mode. It is an even less important problem in the semi real mode.
    8.18 +
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/docs/wiki/changes.txt	Fri Jul 04 12:16:12 2008 +0000
     9.3 @@ -0,0 +1,179 @@
     9.4 +-*- org -*-
     9.5 +
     9.6 +* LFS 0.5
     9.7 +----------
     9.8 +** Features:
     9.9 + - semi real mode enabling to use LFS without using LFS :). LFS just acts
    9.10 +   as a wrapper over your classical hierarchical fs. For now there 
    9.11 +   is only ext:, size:, name:, date:, and dir: as intrinsic properties and 
    9.12 +   some date and string logic.
    9.13 + - date:yesterday special property
    9.14 +
    9.15 +** Internal:
    9.16 + - reorganize the code. More .mli, cleaner interfaces, less dependencies. 
    9.17 +   Also make it easier to use the core of LFS (useful for my other CComment 
    9.18 +   project)
    9.19 +
    9.20 +
    9.21 +* LFS 0.4
    9.22 +----------
    9.23 +
    9.24 +** Features:
    9.25 + - better support for date by using a logic solver 
    9.26 +   (made using logfun by Sebastien Ferré)
    9.27 + - a cd .nojump/ new special command.
    9.28 +
    9.29 +** Bug-fixes:
    9.30 + - correctly update the true extension, when rm file that have no property.
    9.31 +   Thanks to Rix Beck to point out this bug.
    9.32 +
    9.33 +** Internal:
    9.34 + - include the logfun library by Sebastien Ferré to implement more easily
    9.35 +   some logic solvers by combining simpler logic solvers. 
    9.36 +
    9.37 +
    9.38 +* 0.4beta2
    9.39 +----------
    9.40 +
    9.41 +** Features:
    9.42 + - add some support for date. very basic. 
    9.43 +      * have a new 'date:' property  handled by a system transducer
    9.44 +      * have a "dynamic property" 'date:today' that translates into going 
    9.45 +        to the current day
    9.46 + - add some options to mount.lfs (such as -fsckshowprogress)
    9.47 + 
    9.48 +** Finalize old features:
    9.49 + - allow delete and mv "ambiguous" filename (the one containing <xx>)
    9.50 +   => that allows to mv easily a big set of files,  and so add or del a 
    9.51 +      property to a big set of files.
    9.52 +     just do  cd .ext; mv * <newpath>
    9.53 + - stree: (which is also all:) properties are now up to date.
    9.54 + - glimpse: properties are now also up to date ("a la spotlight"). 
    9.55 +   kind of incremental indexing. I use grep to search recent files, 
    9.56 +   a secondary glimpseindex to search less recent files, and the primary
    9.57 +   glimpseindex to search the really old files.
    9.58 + - the cache of the dynamic properties are invalidated when necessary, so the
    9.59 +   content of directory such as glimpse:xxx is recomputed when necessary, 
    9.60 +   and always up to date.
    9.61 + - log files of berkeley DB are now deleted automatically. I do some 
    9.62 +   checkpoint regularily.
    9.63 +
    9.64 +** Bug-fixes:
    9.65 + - make some functions (assoc#iter and assoc#length) tail call or more
    9.66 +   efficient. fsck now works better in native mode (but still wierd).
    9.67 + - fix problem when create file with strange names such as toto$1.txt 
    9.68 +   or -toto.txt.
    9.69 +
    9.70 +
    9.71 +** Internal:
    9.72 + - have reorganized the source. have added more .mli files.
    9.73 +
    9.74 +
    9.75 +
    9.76 +* 0.4beta1
    9.77 +----------
    9.78 +
    9.79 +** Features:
    9.80 + - when .ca, now also gather in x&y&z if x, y, z are "equivalent" 
    9.81 +   (lead do same set of files), so better navigation experience 
    9.82 +   (avoid also to implement a little the .goint)
    9.83 + - versionning by default. at each save (only for .txt for the moment 
    9.84 +   (can be customized))
    9.85 + - when rm,  in fact mv in meta-lfs/lost+found/  
    9.86 +   (do same as what fsck do when pb)
    9.87 + - when there is multiple files with same name in same dir, append to some
    9.88 +   of them a <xx> as emacs do  with buffer to allow disambiguate them
    9.89 + - can now get inode number  via hardlink count  (do ls -l to see it )
    9.90 + - can now use cd .int to get intension of a file. for the moment work
    9.91 +   only with one file at a time and return only the extrinsic property. 
    9.92 +   In futur will be able with the same command to get also the intension 
    9.93 +   of a set of files (of a pwd) 
    9.94 + - export import (available in scripts/). indeed, with inode:xx, 
    9.95 +   with disambiguation (via <xxx>), with .int 
    9.96 +     => can now have import export
    9.97 +    allow to cp some files from one lfs mountpoint to another lfs mountpoint. 
    9.98 + - can now create files in disjunction/negation/special  dir, 
    9.99 +   => can create file even in google:xxx 
   9.100 + - add few features to lfs-tunes (keep the random order history)
   9.101 +
   9.102 +
   9.103 +** Bug-fixes:
   9.104 + - when  mv  filename,  need update some intrinsic property (name:xxx) 
   9.105 +   and so call transducers (at least system transducers)
   9.106 +
   9.107 + - I have added  . and .. in ls listing,  cos some tools still except 
   9.108 +   and use those entries, for instance cp xx ..  didnt work before 
   9.109 +   this fix under LFS 
   9.110 +
   9.111 +
   9.112 +
   9.113 +
   9.114 +* LFS 0.3:
   9.115 +---------
   9.116 +
   9.117 +** First really public release.
   9.118 +
   9.119 +** Switch to Fuse (and specially OcamlFuse), so now almost everything
   9.120 +  is in Caml.
   9.121 +
   9.122 +** Features:
   9.123 + - a GUI for playing music files: lfs-tunes
   9.124 + - integrate glimpse and suffix tree for some special request
   9.125 + - add support for relation (with ln command)
   9.126 +
   9.127 +** Bug-fixes:
   9.128 +
   9.129 +** Robustness:
   9.130 + - put back berkeley db and so transactions.
   9.131 +
   9.132 +** Optimisations:
   9.133 + - fast logic (at least :) ) now can really be called a _logic_ file system.
   9.134 +
   9.135 +** Plugins:
   9.136 +
   9.137 +** Misc:
   9.138 + - easier install because of Fuse.
   9.139 +
   9.140 +
   9.141 +
   9.142 +
   9.143 +* LFS 0.2:
   9.144 +---------
   9.145 +
   9.146 +** Switch to Ocaml (but still with a PerlFS part)
   9.147 +
   9.148 +** change model, have a smoother interface 
   9.149 +   for plug-ins (logics and transducers)
   9.150 +   for inter- and intra-file navigation
   9.151 +
   9.152 +** faster (in part because of OCaml)
   9.153 +
   9.154 +* LFS 0.1:
   9.155 +--------
   9.156 +
   9.157 +** cf my history.txt
   9.158 +
   9.159 +
   9.160 +* LFS beta:
   9.161 +----------
   9.162 +
   9.163 +** change model
   9.164 +
   9.165 +* LFS alpha:
   9.166 +-----------
   9.167 +
   9.168 +** in Perl (so real fs with help of PerlFS, but ugly because Perl)
   9.169 +
   9.170 +* LFS pre-alpha: 
   9.171 +---------------
   9.172 +
   9.173 +** in Caml (but no fs)
   9.174 +
   9.175 +
   9.176 +-------------------------------------
   9.177 +* Done by other before LFS pre-alpha:
   9.178 +-------------------------------------
   9.179 +** LIS prototype in lambda-prolog (by Sebastien Ferré)
   9.180 +** RFS prototype in C (by master students of Olivier Ridoux)
   9.181 +
   9.182 +
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/docs/wiki/copyright.txt	Fri Jul 04 12:16:12 2008 +0000
    10.3 @@ -0,0 +1,22 @@
    10.4 +LFS, the Logic File System -- Yoann Padioleau
    10.5 +
    10.6 +Copyright (C) 2000-2008  University de Rennes 1, Institut National de 
    10.7 +Recherche en Informatique et en Automatique (INRIA).
    10.8 +
    10.9 +  This program is free software; you can redistribute it and/or
   10.10 +  modify it under the terms of the GNU General Public License (GPL)
   10.11 +  version 2 as published by the Free Software Foundation.
   10.12 +  
   10.13 +  This program is distributed in the hope that it will be useful,
   10.14 +  but WITHOUT ANY WARRANTY; without even the implied warranty of
   10.15 +  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   10.16 +  file license.txt for more details.
   10.17 +
   10.18 +
   10.19 +LFS homepage : http://aryx.kicks-ass.org/~pad/wiki/wiki-LFS/
   10.20 +Contact author : yoann.padioleau@gmail.com
   10.21 +
   10.22 +The contents of some files in this directory was derived from external
   10.23 +sources with compatible licenses (for instance ocamlbdb, ocamlfuse
   10.24 +are distributed under the GPL). The original copyright and license
   10.25 +notice was preserved in the affected files.
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/docs/wiki/credits.txt	Fri Jul 04 12:16:12 2008 +0000
    11.3 @@ -0,0 +1,27 @@
    11.4 +A big thanks to Olivier Ridoux and Sebastien Ferré for all their work
    11.5 +around LIS and LFS.
    11.6 +
    11.7 +Thanks to 
    11.8 +  * Vincenzo Ciancia for the OCaml binding to the Fuse library, 
    11.9 +  * Lex Stein for the OCaml binding to Berkeley DB, 
   11.10 +  * Sebastien Ferré for his implementation in OCaml of a suffix tree library, and for his logic functors (logfun).
   11.11 +
   11.12 +  * Richard Jones for his dumper module, 
   11.13 +  * Brian Hurt and Nicolas Cannasse for their dynArray module,
   11.14 +  * Troestler Christophe for his ANSITerminal module,
   11.15 +
   11.16 +  * Xavier Leroy for his implementation in OCaml of the agrep utility (and of course for OCaml).
   11.17 +
   11.18 +
   11.19 +Thanks to the teams behind Berkeley DB and Fuse.
   11.20 +
   11.21 +Thanks of course also to Stallman, Linus, Leroy, Knuth and their
   11.22 +acolytes for respectively Emacs, Linux, OCaml, and (La)Tex.
   11.23 +
   11.24 +Thanks to the user of LFS
   11.25 +  * Rix Beck for pointing out some bugs.
   11.26 +  * Yoann Padioleau for all his amazing work; he is a great guy
   11.27 +  * Diego Barrios (Eldruin) for beta-testing the semi_real_mode and writing the gentoo ebuild
   11.28 +
   11.29 +
   11.30 +
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/docs/wiki/features.txt	Fri Jul 04 12:16:12 2008 +0000
    12.3 @@ -0,0 +1,12 @@
    12.4 +===== LFS features =====
    12.5 +
    12.6 +==== Powerful queries ====
    12.7 +
    12.8 +==== Powerful navigation ====
    12.9 +
   12.10 +==== Extensible filesystem ====
   12.11 +
   12.12 +=== Logic plugins ===
   12.13 +
   12.14 +=== File (transducer) plugins ===
   12.15 +
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/docs/wiki/howto/install.txt	Fri Jul 04 12:16:12 2008 +0000
    13.3 @@ -0,0 +1,46 @@
    13.4 +// -*- wikipedia -*- 
    13.5 +To install LFS you need to build it from the source.
    13.6 +===== Installing on Gentoo =====
    13.7 +It depends on several packages:
    13.8 +^Package ^ ^
    13.9 +| ocaml | The language in which lfs is coded. ocaml is needed to compile the source. |
   13.10 +| camlidl | Needed to use C code from fuse, etc. |
   13.11 +| db | Berkeley Database used to store all the metadata of the files. |
   13.12 +| gdbm | Standard GNU database libraries. |
   13.13 +| fuse | The interface for the filesystem. |
   13.14 +These packages are the needed by lfs to work, but you may install several packages more to generate metadata from these file types. These are plugins for LFS.
   13.15 +^File type ^Packages ^
   13.16 +| mp3 | MP3-Info, MP3-Tags, Compress-Zlib |
   13.17 +| ogg | vorbis-tools |
   13.18 +If you want a GUI interface for your mp3 files and photos you need to install the package **lablgtk**.
   13.19 +
   13.20 +With new versions of fuse, you need to build the fuse module in the kernel, and then, install the fuse package. If it were your case, emerging fuse should fail.
   13.21 +You have to set File-systems -> Filesystem in Userspace support (AKA FUSE) to be a module. After that, build your new module and install it with:
   13.22 +   make modules modules_install
   13.23 +Then load it
   13.24 +   modprobe fuse
   13.25 +And you should be able to emerge fuse as usual.
   13.26 +
   13.27 +The ebuild for LFS is on [[http://overlays.gentoo.org/proj/sunrise|Sunrise overlay]] in the //sys-fs// category.
   13.28 +You just need to use layman and add the overlay and then:
   13.29 +   emerge sys-fs/lfs
   13.30 +You can also select the USE flags for the plugins you want to use.
   13.31 +Once installed, you need to create a folder for your metadata database and a mount point to mount your LFS.
   13.32 +   mkdir /tmp/meta-lfs /tmp/lfs
   13.33 +And then you have to generate the metadata database with:
   13.34 +   build-db.opt -build_db_gentoo /tmp/meta-lfs
   13.35 +This can take several minutes depending on how much files you have in your hard drive. It shows the progress in this format
   13.36 +   PARSING: ... (done/total)
   13.37 +After the database of metadata has been created you have to mount your filesystem. There are several modes.
   13.38 +=== Semi-real mode ===
   13.39 +In semi-real mode your filesystem is not changed, it is read only and provides you another way to browse your files making queries but makes no changes in your filesystem.
   13.40 +   mount.lfs -semi_real_mode /tmp/meta-lfs /tmp/lfs
   13.41 +If it gets blocked on some queries, you may use the ''-timeout'' option to ''mount.lfs'' so it stops after the given seconds.
   13.42 +Now you can browse your LFS filesystem with the lfs query sintax like:
   13.43 +   ls /tmp/lfs/.best
   13.44 +
   13.45 +To unmount your filesystem you can do:
   13.46 +   fusermount -u /tmp/lfs
   13.47 +If you need to kill lfs for any reason you can run:
   13.48 +   pkill -9 mount.lfs
   13.49 +This may corrupt the LFS metadata so you may have to generate it again.
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/docs/wiki/install-debian.txt	Fri Jul 04 12:16:12 2008 +0000
    14.3 @@ -0,0 +1,70 @@
    14.4 +
    14.5 +Add the following packages (for instance using the command 'apt-get
    14.6 +install <packagename>) :
    14.7 +
    14.8 + - ocaml
    14.9 + - camlidl
   14.10 +
   14.11 + - libdb4.3
   14.12 + - libdb4.3-dev
   14.13 + - db4.3-util
   14.14 +
   14.15 + - libfuse2
   14.16 + - fuse-utils. note: debconf ask to choose a group, the default is
   14.17 +   fuse, it seems that you should not change this value otherwise then
   14.18 +   fusermount is not made setuid and then LFS can not work.
   14.19 + - libfuse-dev
   14.20 +
   14.21 +
   14.22 +You can compile the fuse kernel module, but nowadays the kernels of
   14.23 +most distributions directly support fuse so the following step is
   14.24 +optional. 
   14.25 +
   14.26 +So if you really want to compile yourself the fuse 
   14.27 +kernel module install first:
   14.28 + - module-assistant
   14.29 + - kernel-headers-2.4.27 (or kernel-headers-2.4.27-2-386  or similar)
   14.30 +
   14.31 +then install: 
   14.32 + - fuse-source
   14.33 +
   14.34 +then issue as root the (cryptic) command:
   14.35 + m-a a-i  fuse
   14.36 +
   14.37 +You have to add yourself in the "fuse" group (edit /etc/group) to be
   14.38 +able to access to fusermount program and you have to relog (check that
   14.39 +you are indeed in the fuse group by running the "/usr/bin/groups"
   14.40 +command)
   14.41 +
   14.42 +If you want other users on your machine to access your mounted fuse
   14.43 +filesystem then you can optionaly create a file /etc/fuse.conf and add 
   14.44 +the following line
   14.45 +    user_allow_other
   14.46 +You must then relaunch (or launch) fuse with  
   14.47 +the command  "rmmod fuse; modprobe fuse".
   14.48 +
   14.49 +
   14.50 +
   14.51 +You can now detar the source of LFS and type the make command.
   14.52 +
   14.53 +
   14.54 +
   14.55 +To enable some LFS plugins, you can install:
   14.56 + - libmp3-info-perl
   14.57 + - libmp3-tag-perl
   14.58 + - vorbis-tools
   14.59 +
   14.60 + - glimpse. there is no debian package for this. You have to install
   14.61 +   it from source. Note that you don't need it absolutly, because
   14.62 +   plugins, and this one in particular, are optional.
   14.63 +
   14.64 + - gprolog
   14.65 +
   14.66 +To enable the GUI for mp3 and photos provided with LFS, install:
   14.67 + - lablgtk 
   14.68 +   warning: the lablgtk package as some point conflicted with the berkeley db
   14.69 +   development package (libdb4.3-dev) so then you needed to first compile 
   14.70 +   the LFS source (requiring the libdb4.3-dev package), and then install 
   14.71 +   the lablgtk package and compile the GUI (LFS binaries dont need the
   14.72 +   libdb4.3-dev package to run (but need it to compile)) and then take care
   14.73 +   then to reinstall libdb4.3-dev if you want to recompile LFS.
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/docs/wiki/install.txt	Fri Jul 04 12:16:12 2008 +0000
    15.3 @@ -0,0 +1,139 @@
    15.4 +------------------------------------------------------------------------------
    15.5 +There are 3 versions and 3 ways to use LFS:
    15.6 +
    15.7 + - The application version of LFS. This version is not a filesystem
    15.8 +   but a normal application which provides a shell interface to test
    15.9 +   the functionnality of LFS. This version is far easier to install,
   15.10 +   but far less interesting from the user point of view because it is
   15.11 +   not a filesystem.
   15.12 +
   15.13 + - The full filesystem version of LFS. This version is a real filesystem, 
   15.14 +   which give access to the advantages of a filesystem, allowing the user to:
   15.15 +    - store real datas (such as music files, programs, ...),
   15.16 +    - use a real shell providing advanced features (such as completion, 
   15.17 +      globbing, ...),
   15.18 +    - use traditional application over LFS (such as mp3 player, emacs, 
   15.19 +      explorer, ...),
   15.20 +   This version is more difficult to install as it requires to work
   15.21 +   with the Linux kernel. 
   15.22 +
   15.23 + - The filesystem version of LFS as a "semi-real" filesystem where LFS
   15.24 +   just acts as a wrapper giving another view of your current
   15.25 +   hierarchical filesystem. This version is a real filesystem and also
   15.26 +   give access to the advantages of a filesystem, but it operates in a
   15.27 +   different way than the previous mode. It provides a smooth path to
   15.28 +   benefit of some of the advantages of LFS (powerful query and
   15.29 +   navigation) without chaning anything to the way you organize your
   15.30 +   current data. The drawback is that you can not benefit of some of
   15.31 +   the advantages of LFS.
   15.32 +
   15.33 +------------------------------------------------------------------------------
   15.34 +Requirements:
   15.35 +
   15.36 +A strong requirement for installing LFS is to use a Linux machine, and
   15.37 +to be allowed to install a kernel module (which means root access).
   15.38 +Nowadays this kernel module, fuse.ko, is present in almost all distributions
   15.39 +so you just need to be able to use the fuse utilities.
   15.40 +Note that LFS can also be installed as a user level application, but
   15.41 +this type of install offers much less services; it must be reserved
   15.42 +for playing with LFS ideas. In this case, the only requirement is that
   15.43 +OCaml, a functional programming language, is available on the platform
   15.44 +(most are, including Microsoft Windows and MacOS X).
   15.45 +
   15.46 +To install LFS from source you will also need to install some packages such as
   15.47 +kernel-headers, the gcc/binutils toolsuite, ...
   15.48 +
   15.49 +
   15.50 +
   15.51 +------------------------------------------------------------------------------
   15.52 +Install:
   15.53 +
   15.54 +   configure 
   15.55 +   make depend
   15.56 +   make
   15.57 +   make coredemo
   15.58 +
   15.59 + If the configure script tells you that some packages are missing, you
   15.60 + can install them by picking in lfs-dependencies.tgz, available on the
   15.61 + LFS website, which provides the source of those required external
   15.62 + libraries/tools used by LFS. The installation procedure for most of
   15.63 + those packages are either to run the commands "configure; make; make
   15.64 + install" or the commands "perl Makefile.PL; make; make install".
   15.65 +
   15.66 + The preceding commands allows to install the application version of
   15.67 + LFS, and you can already play with LFS with this version. If you dont
   15.68 + want to install the filesystem version and play only with the
   15.69 + application version, just launch the LFS interpreter coredemo.top.
   15.70 + You will need some knowledge of ocaml. The file demo.ml contains
   15.71 + examples of interaction.
   15.72 +
   15.73 + To compile the filesystem version (real and semi-real mode) type: 
   15.74 +     make all
   15.75 + but you have first to install Fuse. You can either:
   15.76 +  FIXME
   15.77 +
   15.78 +------------------------------------------------------------------------------
   15.79 +Use:
   15.80 +
   15.81 +  The path "/your/meta_data_place" represents in the following a place
   15.82 +   on your hard disk where you want to store the LFS meta data.
   15.83 +
   15.84 +  Run the command: touch /your/meta_data_place/lfs_secu
   15.85 +
   15.86 +  This command is required because some commands such as mkfs.lfs or
   15.87 +  build-db requires before allocating its structure to be sure that it
   15.88 +  will not erase the data of the user unintentionnaly. So before
   15.89 +  proceeding check that /your/meta_data_place does not contain
   15.90 +  important information.
   15.91 +
   15.92 +
   15.93 +
   15.94 +To use of the semi real mode of LFS (most people will want that):
   15.95 +
   15.96 +  The first time you use LFS, you have to initialise LFS meta-data with:
   15.97 +     cd LFS-0.5/
   15.98 +     source env.sh
   15.99 +     ./build-db.opt -lfs_metapath /your/meta_date_place  /path/that/you/want/to/index 
  15.100 +
  15.101 +  Then to "mount" LFS run the command:
  15.102 +     ./mount.lfs -semi_real_mode /your/meta_data_place /your/mount_point/
  15.103 +     cd /your/mount_point/
  15.104 +     ls
  15.105 +
  15.106 +  Use the following command for unmounting LFS: 
  15.107 +       fusermount -u /your/mount_point/
  15.108 +
  15.109 +
  15.110 +
  15.111 +
  15.112 +
  15.113 +To use the real mode of LFS (most people will prefer the safer semi-real mode):
  15.114 +
  15.115 +  The first time you use LFS, you have to initialise LFS with:
  15.116 +    mkfs.lfs /your/meta_data_place/
  15.117 +
  15.118 +  Then you can use LFS:
  15.119 +
  15.120 +   run the command:
  15.121 +      mount.lfs -real_mode /your/meta_data_place /your/mount_point/; 
  15.122 +      cd /your/mount_point/
  15.123 +   Use the command: 
  15.124 +       umount.lfs /your/mount_point/ for unmounting.
  15.125 +
  15.126 +  Example of session:
  15.127 +   mkdir a
  15.128 +   mkdir b
  15.129 +   mkdir c
  15.130 +   touch a/b/fab 
  15.131 +   touch c/b/fbc
  15.132 +   cd b
  15.133 +   ls 
  15.134 +      --> see a/ c/
  15.135 +   cd a
  15.136 +   ls 
  15.137 +      --> see fab
  15.138 +
  15.139 +
  15.140 +See the docs directory for more information.
  15.141 +
  15.142 +------------------------------------------------------------------------------
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/docs/wiki/lfs-users.txt	Fri Jul 04 12:16:12 2008 +0000
    16.3 @@ -0,0 +1,12 @@
    16.4 +===== LFS users =====
    16.5 +
    16.6 +==== Yoann Padioleau(<yoann.padioleau@gmail.com>) ====
    16.7 +
    16.8 +For my homedir, code, mp3s, pictures, emails, etc and gentoo root. 
    16.9 +
   16.10 +Favourite queries:
   16.11 +   
   16.12 +    cd ~/lfs/project-lfs/ext:<ml/.ext; emacs
   16.13 +    mpg123 -z ~/lfs/type:Music/genre:Disco|genre:Electro/.ext/*
   16.14 +
   16.15 +==== Your name here ====
   16.16 \ No newline at end of file
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/docs/wiki/license.txt	Fri Jul 04 12:16:12 2008 +0000
    17.3 @@ -0,0 +1,339 @@
    17.4 +		    GNU GENERAL PUBLIC LICENSE
    17.5 +		       Version 2, June 1991
    17.6 +
    17.7 + Copyright (C) 1989, 1991 Free Software Foundation, Inc.
    17.8 +                          675 Mass Ave, Cambridge, MA 02139, USA
    17.9 + Everyone is permitted to copy and distribute verbatim copies
   17.10 + of this license document, but changing it is not allowed.
   17.11 +
   17.12 +			    Preamble
   17.13 +
   17.14 +  The licenses for most software are designed to take away your
   17.15 +freedom to share and change it.  By contrast, the GNU General Public
   17.16 +License is intended to guarantee your freedom to share and change free
   17.17 +software--to make sure the software is free for all its users.  This
   17.18 +General Public License applies to most of the Free Software
   17.19 +Foundation's software and to any other program whose authors commit to
   17.20 +using it.  (Some other Free Software Foundation software is covered by
   17.21 +the GNU Library General Public License instead.)  You can apply it to
   17.22 +your programs, too.
   17.23 +
   17.24 +  When we speak of free software, we are referring to freedom, not
   17.25 +price.  Our General Public Licenses are designed to make sure that you
   17.26 +have the freedom to distribute copies of free software (and charge for
   17.27 +this service if you wish), that you receive source code or can get it
   17.28 +if you want it, that you can change the software or use pieces of it
   17.29 +in new free programs; and that you know you can do these things.
   17.30 +
   17.31 +  To protect your rights, we need to make restrictions that forbid
   17.32 +anyone to deny you these rights or to ask you to surrender the rights.
   17.33 +These restrictions translate to certain responsibilities for you if you
   17.34 +distribute copies of the software, or if you modify it.
   17.35 +
   17.36 +  For example, if you distribute copies of such a program, whether
   17.37 +gratis or for a fee, you must give the recipients all the rights that
   17.38 +you have.  You must make sure that they, too, receive or can get the
   17.39 +source code.  And you must show them these terms so they know their
   17.40 +rights.
   17.41 +
   17.42 +  We protect your rights with two steps: (1) copyright the software, and
   17.43 +(2) offer you this license which gives you legal permission to copy,
   17.44 +distribute and/or modify the software.
   17.45 +
   17.46 +  Also, for each author's protection and ours, we want to make certain
   17.47 +that everyone understands that there is no warranty for this free
   17.48 +software.  If the software is modified by someone else and passed on, we
   17.49 +want its recipients to know that what they have is not the original, so
   17.50 +that any problems introduced by others will not reflect on the original
   17.51 +authors' reputations.
   17.52 +
   17.53 +  Finally, any free program is threatened constantly by software
   17.54 +patents.  We wish to avoid the danger that redistributors of a free
   17.55 +program will individually obtain patent licenses, in effect making the
   17.56 +program proprietary.  To prevent this, we have made it clear that any
   17.57 +patent must be licensed for everyone's free use or not licensed at all.
   17.58 +
   17.59 +  The precise terms and conditions for copying, distribution and
   17.60 +modification follow.
   17.61 +
   17.62 +		    GNU GENERAL PUBLIC LICENSE
   17.63 +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
   17.64 +
   17.65 +  0. This License applies to any program or other work which contains
   17.66 +a notice placed by the copyright holder saying it may be distributed
   17.67 +under the terms of this General Public License.  The "Program", below,
   17.68 +refers to any such program or work, and a "work based on the Program"
   17.69 +means either the Program or any derivative work under copyright law:
   17.70 +that is to say, a work containing the Program or a portion of it,
   17.71 +either verbatim or with modifications and/or translated into another
   17.72 +language.  (Hereinafter, translation is included without limitation in
   17.73 +the term "modification".)  Each licensee is addressed as "you".
   17.74 +
   17.75 +Activities other than copying, distribution and modification are not
   17.76 +covered by this License; they are outside its scope.  The act of
   17.77 +running the Program is not restricted, and the output from the Program
   17.78 +is covered only if its contents constitute a work based on the
   17.79 +Program (independent of having been made by running the Program).
   17.80 +Whether that is true depends on what the Program does.
   17.81 +
   17.82 +  1. You may copy and distribute verbatim copies of the Program's
   17.83 +source code as you receive it, in any medium, provided that you
   17.84 +conspicuously and appropriately publish on each copy an appropriate
   17.85 +copyright notice and disclaimer of warranty; keep intact all the
   17.86 +notices that refer to this License and to the absence of any warranty;
   17.87 +and give any other recipients of the Program a copy of this License
   17.88 +along with the Program.
   17.89 +
   17.90 +You may charge a fee for the physical act of transferring a copy, and
   17.91 +you may at your option offer warranty protection in exchange for a fee.
   17.92 +
   17.93 +  2. You may modify your copy or copies of the Program or any portion
   17.94 +of it, thus forming a work based on the Program, and copy and
   17.95 +distribute such modifications or work under the terms of Section 1
   17.96 +above, provided that you also meet all of these conditions:
   17.97 +
   17.98 +    a) You must cause the modified files to carry prominent notices
   17.99 +    stating that you changed the files and the date of any change.
  17.100 +
  17.101 +    b) You must cause any work that you distribute or publish, that in
  17.102 +    whole or in part contains or is derived from the Program or any
  17.103 +    part thereof, to be licensed as a whole at no charge to all third
  17.104 +    parties under the terms of this License.
  17.105 +
  17.106 +    c) If the modified program normally reads commands interactively
  17.107 +    when run, you must cause it, when started running for such
  17.108 +    interactive use in the most ordinary way, to print or display an
  17.109 +    announcement including an appropriate copyright notice and a
  17.110 +    notice that there is no warranty (or else, saying that you provide
  17.111 +    a warranty) and that users may redistribute the program under
  17.112 +    these conditions, and telling the user how to view a copy of this
  17.113 +    License.  (Exception: if the Program itself is interactive but
  17.114 +    does not normally print such an announcement, your work based on
  17.115 +    the Program is not required to print an announcement.)
  17.116 +
  17.117 +These requirements apply to the modified work as a whole.  If
  17.118 +identifiable sections of that work are not derived from the Program,
  17.119 +and can be reasonably considered independent and separate works in
  17.120 +themselves, then this License, and its terms, do not apply to those
  17.121 +sections when you distribute them as separate works.  But when you
  17.122 +distribute the same sections as part of a whole which is a work based
  17.123 +on the Program, the distribution of the whole must be on the terms of
  17.124 +this License, whose permissions for other licensees extend to the
  17.125 +entire whole, and thus to each and every part regardless of who wrote it.
  17.126 +
  17.127 +Thus, it is not the intent of this section to claim rights or contest
  17.128 +your rights to work written entirely by you; rather, the intent is to
  17.129 +exercise the right to control the distribution of derivative or
  17.130 +collective works based on the Program.
  17.131 +
  17.132 +In addition, mere aggregation of another work not based on the Program
  17.133 +with the Program (or with a work based on the Program) on a volume of
  17.134 +a storage or distribution medium does not bring the other work under
  17.135 +the scope of this License.
  17.136 +
  17.137 +  3. You may copy and distribute the Program (or a work based on it,
  17.138 +under Section 2) in object code or executable form under the terms of
  17.139 +Sections 1 and 2 above provided that you also do one of the following:
  17.140 +
  17.141 +    a) Accompany it with the complete corresponding machine-readable
  17.142 +    source code, which must be distributed under the terms of Sections
  17.143 +    1 and 2 above on a medium customarily used for software interchange; or,
  17.144 +
  17.145 +    b) Accompany it with a written offer, valid for at least three
  17.146 +    years, to give any third party, for a charge no more than your
  17.147 +    cost of physically performing source distribution, a complete
  17.148 +    machine-readable copy of the corresponding source code, to be
  17.149 +    distributed under the terms of Sections 1 and 2 above on a medium
  17.150 +    customarily used for software interchange; or,
  17.151 +
  17.152 +    c) Accompany it with the information you received as to the offer
  17.153 +    to distribute corresponding source code.  (This alternative is
  17.154 +    allowed only for noncommercial distribution and only if you
  17.155 +    received the program in object code or executable form with such
  17.156 +    an offer, in accord with Subsection b above.)
  17.157 +
  17.158 +The source code for a work means the preferred form of the work for
  17.159 +making modifications to it.  For an executable work, complete source
  17.160 +code means all the source code for all modules it contains, plus any
  17.161 +associated interface definition files, plus the scripts used to
  17.162 +control compilation and installation of the executable.  However, as a
  17.163 +special exception, the source code distributed need not include
  17.164 +anything that is normally distributed (in either source or binary
  17.165 +form) with the major components (compiler, kernel, and so on) of the
  17.166 +operating system on which the executable runs, unless that component
  17.167 +itself accompanies the executable.
  17.168 +
  17.169 +If distribution of executable or object code is made by offering
  17.170 +access to copy from a designated place, then offering equivalent
  17.171 +access to copy the source code from the same place counts as
  17.172 +distribution of the source code, even though third parties are not
  17.173 +compelled to copy the source along with the object code.
  17.174 +
  17.175 +  4. You may not copy, modify, sublicense, or distribute the Program
  17.176 +except as expressly provided under this License.  Any attempt
  17.177 +otherwise to copy, modify, sublicense or distribute the Program is
  17.178 +void, and will automatically terminate your rights under this License.
  17.179 +However, parties who have received copies, or rights, from you under
  17.180 +this License will not have their licenses terminated so long as such
  17.181 +parties remain in full compliance.
  17.182 +
  17.183 +  5. You are not required to accept this License, since you have not
  17.184 +signed it.  However, nothing else grants you permission to modify or
  17.185 +distribute the Program or its derivative works.  These actions are
  17.186 +prohibited by law if you do not accept this License.  Therefore, by
  17.187 +modifying or distributing the Program (or any work based on the
  17.188 +Program), you indicate your acceptance of this License to do so, and
  17.189 +all its terms and conditions for copying, distributing or modifying
  17.190 +the Program or works based on it.
  17.191 +
  17.192 +  6. Each time you redistribute the Program (or any work based on the
  17.193 +Program), the recipient automatically receives a license from the
  17.194 +original licensor to copy, distribute or modify the Program subject to
  17.195 +these terms and conditions.  You may not impose any further
  17.196 +restrictions on the recipients' exercise of the rights granted herein.
  17.197 +You are not responsible for enforcing compliance by third parties to
  17.198 +this License.
  17.199 +
  17.200 +  7. If, as a consequence of a court judgment or allegation of patent
  17.201 +infringement or for any other reason (not limited to patent issues),
  17.202 +conditions are imposed on you (whether by court order, agreement or
  17.203 +otherwise) that contradict the conditions of this License, they do not
  17.204 +excuse you from the conditions of this License.  If you cannot
  17.205 +distribute so as to satisfy simultaneously your obligations under this
  17.206 +License and any other pertinent obligations, then as a consequence you
  17.207 +may not distribute the Program at all.  For example, if a patent
  17.208 +license would not permit royalty-free redistribution of the Program by
  17.209 +all those who receive copies directly or indirectly through you, then
  17.210 +the only way you could satisfy both it and this License would be to
  17.211 +refrain entirely from distribution of the Program.
  17.212 +
  17.213 +If any portion of this section is held invalid or unenforceable under
  17.214 +any particular circumstance, the balance of the section is intended to
  17.215 +apply and the section as a whole is intended to apply in other
  17.216 +circumstances.
  17.217 +
  17.218 +It is not the purpose of this section to induce you to infringe any
  17.219 +patents or other property right claims or to contest validity of any
  17.220 +such claims; this section has the sole purpose of protecting the
  17.221 +integrity of the free software distribution system, which is
  17.222 +implemented by public license practices.  Many people have made
  17.223 +generous contributions to the wide range of software distributed
  17.224 +through that system in reliance on consistent application of that
  17.225 +system; it is up to the author/donor to decide if he or she is willing
  17.226 +to distribute software through any other system and a licensee cannot
  17.227 +impose that choice.
  17.228 +
  17.229 +This section is intended to make thoroughly clear what is believed to
  17.230 +be a consequence of the rest of this License.
  17.231 +
  17.232 +  8. If the distribution and/or use of the Program is restricted in
  17.233 +certain countries either by patents or by copyrighted interfaces, the
  17.234 +original copyright holder who places the Program under this License
  17.235 +may add an explicit geographical distribution limitation excluding
  17.236 +those countries, so that distribution is permitted only in or among
  17.237 +countries not thus excluded.  In such case, this License incorporates
  17.238 +the limitation as if written in the body of this License.
  17.239 +
  17.240 +  9. The Free Software Foundation may publish revised and/or new versions
  17.241 +of the General Public License from time to time.  Such new versions will
  17.242 +be similar in spirit to the present version, but may differ in detail to
  17.243 +address new problems or concerns.
  17.244 +
  17.245 +Each version is given a distinguishing version number.  If the Program
  17.246 +specifies a version number of this License which applies to it and "any
  17.247 +later version", you have the option of following the terms and conditions
  17.248 +either of that version or of any later version published by the Free
  17.249 +Software Foundation.  If the Program does not specify a version number of
  17.250 +this License, you may choose any version ever published by the Free Software
  17.251 +Foundation.
  17.252 +
  17.253 +  10. If you wish to incorporate parts of the Program into other free
  17.254 +programs whose distribution conditions are different, write to the author
  17.255 +to ask for permission.  For software which is copyrighted by the Free
  17.256 +Software Foundation, write to the Free Software Foundation; we sometimes
  17.257 +make exceptions for this.  Our decision will be guided by the two goals
  17.258 +of preserving the free status of all derivatives of our free software and
  17.259 +of promoting the sharing and reuse of software generally.
  17.260 +
  17.261 +			    NO WARRANTY
  17.262 +
  17.263 +  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
  17.264 +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
  17.265 +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
  17.266 +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
  17.267 +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  17.268 +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
  17.269 +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
  17.270 +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
  17.271 +REPAIR OR CORRECTION.
  17.272 +
  17.273 +  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
  17.274 +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
  17.275 +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
  17.276 +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
  17.277 +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
  17.278 +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
  17.279 +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
  17.280 +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
  17.281 +POSSIBILITY OF SUCH DAMAGES.
  17.282 +
  17.283 +		     END OF TERMS AND CONDITIONS
  17.284 +
  17.285 +	    How to Apply These Terms to Your New Programs
  17.286 +
  17.287 +  If you develop a new program, and you want it to be of the greatest
  17.288 +possible use to the public, the best way to achieve this is to make it
  17.289 +free software which everyone can redistribute and change under these terms.
  17.290 +
  17.291 +  To do so, attach the following notices to the program.  It is safest
  17.292 +to attach them to the start of each source file to most effectively
  17.293 +convey the exclusion of warranty; and each file should have at least
  17.294 +the "copyright" line and a pointer to where the full notice is found.
  17.295 +
  17.296 +    <one line to give the program's name and a brief idea of what it does.>
  17.297 +    Copyright (C) 19yy  <name of author>
  17.298 +
  17.299 +    This program is free software; you can redistribute it and/or modify
  17.300 +    it under the terms of the GNU General Public License as published by
  17.301 +    the Free Software Foundation; either version 2 of the License, or
  17.302 +    (at your option) any later version.
  17.303 +
  17.304 +    This program is distributed in the hope that it will be useful,
  17.305 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
  17.306 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.307 +    GNU General Public License for more details.
  17.308 +
  17.309 +    You should have received a copy of the GNU General Public License
  17.310 +    along with this program; if not, write to the Free Software
  17.311 +    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.312 +
  17.313 +Also add information on how to contact you by electronic and paper mail.
  17.314 +
  17.315 +If the program is interactive, make it output a short notice like this
  17.316 +when it starts in an interactive mode:
  17.317 +
  17.318 +    Gnomovision version 69, Copyright (C) 19yy name of author
  17.319 +    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
  17.320 +    This is free software, and you are welcome to redistribute it
  17.321 +    under certain conditions; type `show c' for details.
  17.322 +
  17.323 +The hypothetical commands `show w' and `show c' should show the appropriate
  17.324 +parts of the General Public License.  Of course, the commands you use may
  17.325 +be called something other than `show w' and `show c'; they could even be
  17.326 +mouse-clicks or menu items--whatever suits your program.
  17.327 +
  17.328 +You should also get your employer (if you work as a programmer) or your
  17.329 +school, if any, to sign a "copyright disclaimer" for the program, if
  17.330 +necessary.  Here is a sample; alter the names:
  17.331 +
  17.332 +  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  17.333 +  `Gnomovision' (which makes passes at compilers) written by James Hacker.
  17.334 +
  17.335 +  <signature of Ty Coon>, 1 April 1989
  17.336 +  Ty Coon, President of Vice
  17.337 +
  17.338 +This General Public License does not permit incorporating your program into
  17.339 +proprietary programs.  If your program is a subroutine library, you may
  17.340 +consider it more useful to permit linking proprietary applications with the
  17.341 +library.  If this is what you want to do, use the GNU Library General
  17.342 +Public License instead of this License.
    18.1 Binary file docs/wiki/lis.gif has changed
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/docs/wiki/quickguide.txt	Fri Jul 04 12:16:12 2008 +0000
    19.3 @@ -0,0 +1,1 @@
    19.4 +====== Quick Guide to LFS ======
    19.5 \ No newline at end of file
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/docs/wiki/readme.txt	Fri Jul 04 12:16:12 2008 +0000
    20.3 @@ -0,0 +1,65 @@
    20.4 +------------------------------------------------------------------------------
    20.5 +A Logic File System:
    20.6 +
    20.7 +Information systems provide a means for organising, retrieving and
    20.8 +manipulating information. They are becoming more and more important
    20.9 +with the advent of the numerical age, with the increasing variety and
   20.10 +numbers of digital documents (e.g., music files, pictures, videos,
   20.11 +emails, programs source, xml documents). To search for those documents,
   20.12 +traditional information systems like file systems, and the web with
   20.13 +its search engines provide both navigation and query tools but do not allow
   20.14 +to combine them. On the one hand, navigation is intuitive and
   20.15 +progressive but it implies a rigid and single classification of data.
   20.16 +On the other hand, query brings flexibility and expressivity but lacks
   20.17 +the advantages of navigation. To make it easy to manipulate the
   20.18 +contents of those documents, those systems come with separate tools such
   20.19 +as advanced text editors or integrated development environments (IDE) which
   20.20 +suffer too from the same limitation. 
   20.21 +
   20.22 +We propose a new paradigm for information system, the "Logic File
   20.23 +System" (LFS), that offers expressive organisation, retrieval
   20.24 +combining both query and navigation, and ease of manipulation of both
   20.25 +files and contents of files in an integrated way at the file system
   20.26 +level.
   20.27 +
   20.28 +To achieve this integration, this paradigm associates logical
   20.29 +properties to files and parts of file, and logical deduction serves as
   20.30 +a basis for navigation and querying. "Paths are formulas", directories
   20.31 +represent queries and determine set of files and parts of file whose
   20.32 +description satisfies the formula. The root directory represents the
   20.33 +formula "true", and sub-directories of a directory are determined by
   20.34 +the most general properties refining the query, hence combining
   20.35 +navigation and query. File contents are determined by those parts of
   20.36 +the original file that satisfy the formula. This permits simultaneous
   20.37 +read and write accesses to different "views" on a file, in order to
   20.38 +help in separating a user's concerns. Properties can be attached to
   20.39 +information manually by the user and automatically via programs called
   20.40 +"transducers", and can be ordered manually by the user to form
   20.41 +taxonomies or automatically via logic deduction engines. Users can
   20.42 +dynamically extend the system by providing their own logic deduction
   20.43 +engines and transducers.
   20.44 +
   20.45 +
   20.46 +See the docs/ directory (and the code :) ) for more information.
   20.47 +
   20.48 +See the demos/ directory for example of use.
   20.49 +
   20.50 +See the install.txt file for the installation procedure.
   20.51 +
   20.52 +You can find examples of (useful) logic engines and transducers in
   20.53 + the p_logic/, p_transducer/ and p_adv_transducer/ directories.
   20.54 +
   20.55 +
   20.56 +For bugs or problems send an e-mail to yoann.padioleau@gmail.com with LFS
   20.57 + in the subject of your mail.
   20.58 +
   20.59 +Authors:
   20.60 +  principles: Olivier ridoux (ridoux@irisa.fr)
   20.61 +  theory: Sebastien Ferre (ferre@irisa.fr)
   20.62 +  coding: Yoann Padioleau (aka pad) (yoann.padioleau@gmail.com)
   20.63 +
   20.64 +
   20.65 +------------------------------------------------------------------------------
   20.66 +FAQ: 
   20.67 +Q. I enjoy so much LFS, is there any LFS t-shirt ?
   20.68 +A. not yet, stay tuned...
    21.1 --- a/docs/wiki/start.txt	Fri Jul 04 00:14:17 2008 +0000
    21.2 +++ b/docs/wiki/start.txt	Fri Jul 04 12:16:12 2008 +0000
    21.3 @@ -1,6 +1,91 @@
    21.4 +// -*- wikipedia -*-
    21.5 +
    21.6 +====== Logic File System ======
    21.7 +
    21.8 +{{lis.gif}}
    21.9  Welcome to LFS.
   21.10  
   21.11 -Here is the wikipedia page [[wp>Logic_File_System]]
   21.12 +===== What is LFS ? =====
   21.13  
   21.14 -This is a test.
   21.15 +It's the filesystem you always wanted.
   21.16  
   21.17 +===== Examples of interactions =====
   21.18 +
   21.19 +ls /lfs/ext:c|ext:h/date:*--*--2008/.ext
   21.20 +
   21.21 +mplayer  -z /lfs/ext:mp3/genre:Disco|genre:Electro/year:<70/.ext/*.mp3
   21.22 +
   21.23 +firefox 'http://aryx.kicks-ass.org/~pad/lfs_view.query/ext:pdf/.ext/'
   21.24 +
   21.25 +Here are additional examples of use of LFS:
   21.26 +
   21.27 +  * [[demo-homedir]]
   21.28 +  * [[demo-gentoo-packages]]
   21.29 +  * [[demo-ubuntu-packages]]
   21.30 +  * [[demo-linux-source]]
   21.31 +  * [[demo-mp3]]
   21.32 +  * [[demo-mp3-ipod]]
   21.33 +  * [[demo-pictures]]
   21.34 +  * [[demo-porn]]
   21.35 +  * [[demo-gnus-email]]
   21.36 +  * [[demo-bibtex]]
   21.37 +
   21.38 +===== Quick Guide =====
   21.39 +
   21.40 +See [[quickguide]]
   21.41 +
   21.42 +===== Guides =====
   21.43 +
   21.44 +  * [[readme]]
   21.45 +  * [[features]]
   21.46 +  * [[syntax]]
   21.47 +  * [[manual]]
   21.48 +  * [[faq]]
   21.49 +
   21.50 +===== Download =====
   21.51 +
   21.52 +See http://aryx.kicks-ass.org/~pad/software/project-lfs/
   21.53 +
   21.54 +you can also clone my mercurial repositories available here
   21.55 +http://aryx.kicks-ass.org/~pad/hg/hgwebdir.cgi
   21.56 +
   21.57 +===== Install =====
   21.58 +
   21.59 +  * [[install]]
   21.60 +  * [[howto:install|install on gentoo]]
   21.61 +  * [[install-debian]]
   21.62 +
   21.63 +
   21.64 +===== Papers =====
   21.65 +
   21.66 +see http://www.irisa.fr/LIS/home_html and those LFS related
   21.67 +[[http://www.irisa.fr/LIS/common/biblio/Author/PADIOLEAU-Y.html| bibtex entries]]
   21.68 +and [[http://aryx.kicks-ass.org/~pad/software/project-lfs/papers/|pdf articles]]
   21.69 +
   21.70 +
   21.71 +===== Contact =====
   21.72 +
   21.73 +If you have any question, send a mail to <yoann.padioleau@gmail.com> with
   21.74 +[LFS] in the subject of your mail.
   21.75 +
   21.76 +===== Your comments =====
   21.77 +
   21.78 +You can freely edit the following pages [[comments]], [[feedbacks]], 
   21.79 +[[lfs-users]]
   21.80 +
   21.81 +===== Misc =====
   21.82 +
   21.83 +  * [[changes]]
   21.84 +  * [[bugs]]
   21.85 +
   21.86 +  * [[faq|olf faq]]
   21.87 +
   21.88 +  * the wikipedia page (not written by me) [[wp>Logic_File_System]]
   21.89 +  * older website http://lfs.irisa.fr and http://lfs.irisa.fr/~pad/rawaccess.query/soft/project:LFS/
   21.90 +
   21.91 +===== Copyleft =====
   21.92 +
   21.93 +  * [[authors]]
   21.94 +  * [[copyright]]
   21.95 +  * [[license]]
   21.96 +  * [[credits]]
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/docs/wiki/syntax.txt	Fri Jul 04 12:16:12 2008 +0000
    22.3 @@ -0,0 +1,30 @@
    22.4 +===== Syntax of LFS queries ======
    22.5 +
    22.6 +==== Basic logic ====
    22.7 +
    22.8 +&, |, !
    22.9 +
   22.10 +==== Change internal readdir (ls) algorithm ====
   22.11 +
   22.12 +.ext
   22.13 +.best
   22.14 +.ca
   22.15 +.int
   22.16 +
   22.17 +==== Views ^ ====
   22.18 +
   22.19 +==== Advanced logic ====
   22.20 +
   22.21 +=== string logic === 
   22.22 +=== date logic ===
   22.23 +=== int logic ===
   22.24 +=== size logic ===
   22.25 +
   22.26 +==== Extensions ==== 
   22.27 +
   22.28 +=== stree: or all: extension ===
   22.29 +
   22.30 +=== agrep: extension ===
   22.31 +
   22.32 +=== glimpse: extension === 
   22.33 +
    23.1 --- a/docs/wiki/wiki/dokuwiki.txt	Fri Jul 04 00:14:17 2008 +0000
    23.2 +++ b/docs/wiki/wiki/dokuwiki.txt	Fri Jul 04 12:16:12 2008 +0000
    23.3 @@ -1,3 +1,5 @@
    23.4 +// -*- wikipedia -*-
    23.5 +
    23.6  ====== DokuWiki ======
    23.7  
    23.8  [[doku>wiki:dokuwiki|{{wiki:dokuwiki-128.png }}]] DokuWiki is a standards compliant, simple to use [[wp>Wiki]], mainly aimed at creating documentation of any kind. It is targeted at developer teams, workgroups and small companies. It has a simple but powerful [[wiki:syntax]] which makes sure the datafiles remain readable outside the Wiki and eases the creation of structured texts. All data is stored in plain text files -- no database is required.
    24.1 --- a/docs/wiki/wiki/syntax.txt	Fri Jul 04 00:14:17 2008 +0000
    24.2 +++ b/docs/wiki/wiki/syntax.txt	Fri Jul 04 12:16:12 2008 +0000
    24.3 @@ -1,3 +1,5 @@
    24.4 +// -*- wikipedia -*-
    24.5 +
    24.6  ====== Formatting Syntax ======
    24.7  
    24.8  [[wiki:DokuWiki]] supports some simple markup language, which tries to make the datafiles to be as readable as possible. This page contains all possible syntax you may use when editing the pages. Simply have a look at the source of this page by pressing the //Edit this page// button at the top or bottom of the page. If you want to try something, just use the [[playground:playground|playground]] page. The simpler markup is easily accessible via [[doku>wiki:quickbuttons|quickbuttons]], too.
    25.1 --- a/lfs-0.5.ebuild	Fri Jul 04 00:14:17 2008 +0000
    25.2 +++ b/lfs-0.5.ebuild	Fri Jul 04 12:16:12 2008 +0000
    25.3 @@ -9,7 +9,7 @@
    25.4  LICENSE="GPL-2 or later"
    25.5  SLOT="0"
    25.6  KEYWORDS="amd64 x86"
    25.7 -IUSE="gif gtk jpg mp3 prolog vorbis" 
    25.8 +IUSE="gif gtk jpg mp3 vorbis" 
    25.9  
   25.10  DEPEND="dev-lang/ocaml
   25.11  	dev-ml/camlidl
   25.12 @@ -18,7 +18,6 @@
   25.13  	sys-fs/fuse
   25.14  	mp3? ( dev-perl/MP3-Info dev-perl/MP3-Tag dev-perl/Compress-Zlib )
   25.15  	vorbis? ( media-sound/vorbis-tools )
   25.16 -	prolog? ( dev-lang/gprolog )
   25.17  	gtk? ( dev-ml/lablgtk )"
   25.18  RDEPEND="${DEPEND}"
   25.19  
    26.1 --- a/lfs_core/lfs.ml	Fri Jul 04 00:14:17 2008 +0000
    26.2 +++ b/lfs_core/lfs.ml	Fri Jul 04 12:16:12 2008 +0000
    26.3 @@ -1812,6 +1812,7 @@
    26.4      +> Str.global_replace (Str.regexp "(") "_rparen_"
    26.5      +> Str.global_replace (Str.regexp "&") "_and_"
    26.6      +> Str.global_replace (Str.regexp "|") "_or_"
    26.7 +    +> Str.global_replace (Str.regexp "!") "_not_"
    26.8  
    26.9      (* special file handling. cf also valid_new_file_name *)
   26.10      +> Str.global_replace (Str.regexp "\\<") "_inf_"
   26.11 @@ -1821,6 +1822,7 @@
   26.12      +> Str.global_replace (Str.regexp "\\$") "_dollar_"
   26.13      +> Str.global_replace (Str.regexp "#") "_sharp_"
   26.14      +> Str.global_replace (Str.regexp "%") "_percent_"
   26.15 +    +> Str.global_replace (Str.regexp "'") "_quote_"
   26.16  
   26.17  let sanitize_lfs s =
   26.18    Common.profile_code "Lfs.sanitize" (fun () -> sanitize_lfs2 s)
    27.1 --- a/lfs_real/lfs_semireal.ml	Fri Jul 04 00:14:17 2008 +0000
    27.2 +++ b/lfs_real/lfs_semireal.ml	Fri Jul 04 12:16:12 2008 +0000
    27.3 @@ -77,7 +77,7 @@
    27.4  
    27.5  
    27.6  let clean_metapath metapath = 
    27.7 -  Common.command2_y_or_no (spf "rm -rf %s" metapath);
    27.8 +  Common.command2_y_or_no (spf "rm -f %s/*" metapath);
    27.9    Common.command2 (spf "mkdir -p %s" metapath);
   27.10    Common.command2(spf "touch %s/lfs_secu" metapath);
   27.11    ()